summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornkskjames <nkskjames@gmail.com>2015-10-20 12:51:54 -0500
committernkskjames <nkskjames@gmail.com>2015-10-20 12:51:54 -0500
commit25a98575966b4e5ec2b8b85151ecabb73a676796 (patch)
tree56f608276a3bb269672053f32b6995cd522dde1c
parenta7f9f3d0cdd8369de0dd710db820df6c1231f52a (diff)
parent04f15f37e9ab6c09412a0abcffb87e9aefcc5368 (diff)
downloadserverwiz-25a98575966b4e5ec2b8b85151ecabb73a676796.tar.gz
serverwiz-25a98575966b4e5ec2b8b85151ecabb73a676796.zip
Merge pull request #13 from rjknight/master
Update Targets.pm and target_types_mrw.xml
-rw-r--r--scripts/Targets.pm12
-rwxr-xr-xscripts/processMrw.pl153
-rw-r--r--xml/attribute_types.xml1263
-rw-r--r--xml/attribute_types_hb.xml608
-rw-r--r--xml/target_types_mrw.xml29
5 files changed, 1506 insertions, 559 deletions
diff --git a/scripts/Targets.pm b/scripts/Targets.pm
index 8cf9bc4..dffb5fa 100644
--- a/scripts/Targets.pm
+++ b/scripts/Targets.pm
@@ -55,7 +55,7 @@ sub new
'4' => '7',
'5' => '6'
}
- # TODO RTC: TBD
+ # TODO RTC:132549
# DMI_FSI_MAP is a lookup table for DMI channel to FSI and ref clock.
# It is processor specific and needs to be pulled from a
# processor attribute instead of being hardcoded
@@ -190,18 +190,14 @@ sub printAttribute
$filter{MODEL} = 1;
$filter{TYPE} = 1;
$filter{CDM_POLICIES} = 1;
- $filter{ALL_MCS_IN_INTERLEAVING_GROUP} = 1;
- $filter{MSS_INTERLEAVE_ENABLE} = 1;
$filter{CDM_POLICIES_BITMASK} = 1;
$filter{ENTITY_ID_LOOKUP} = 1;
$filter{ENTITY_INSTANCE} = 1;
$filter{MBA_NUM} = 1;
- $filter{IPMI_INSTANCE} = 1;
- $filter{FRU_NAME} = 1;
+ $filter{IPMI_NAME} = 1;
$filter{INSTANCE_ID} = 1;
- #$filter{ADC_CHANNEL_SENSOR_NUMBERS} = 1;
$filter{IO_CONFIG_SELECT} = 1;
- #$filter{FRU_ID} = 1;
+ $filter{FRU_NAME} = 1;
if ($filter{$attribute} == 1)
{
@@ -590,8 +586,6 @@ sub processMcs
$parent_affinity . "/mcs-$mcs/membuf-$membufnum");
$self->setAttribute($membuf, "PHYS_PATH",
$node_phys . "/membuf-$membufnum");
- # $self->setAttribute($membuf, "VPD_REC_NUM",
- # $self->getAttribute($membuf, "POSITION"));
## copy DMI bus attributes to membuf
$self->setAttribute($unit, "EI_BUS_TX_LANE_INVERT",
diff --git a/scripts/processMrw.pl b/scripts/processMrw.pl
index 7d7b50a..9276768 100755
--- a/scripts/processMrw.pl
+++ b/scripts/processMrw.pl
@@ -77,13 +77,18 @@ my $xmldir = dirname($serverwiz_file);
$targetObj->loadXML($serverwiz_file);
+my $str=sprintf(
+ " %30s | %10s | %6s | %4s | %9s | %4s | %4s | %4s | %10s | %s\n",
+ "Sensor Name","FRU Name","Ent ID","Type","Evt Type","ID","Inst","FRU",
+ "HUID","Target");
-my $str=sprintf(" %30s | %10s | %6s | %4s | %4s | %4s | %4s | %s\n",
- "Sensor Name","FRU Name","Ent ID","Type","ID","Inst","FRU","Target");
$targetObj->writeReport($str);
-$str=sprintf(" %30s | %10s | %6s | %4s | %4s | %4s | %4s | %s\n",
- "------------------------------","----------",
- "------","----","----","----","----","----------");
+my $str=sprintf(
+ " %30s | %10s | %6s | %4s | %9s | %4s | %4s | %4s | %10s | %s\n",
+ "------------------------------","----------",
+ "------","----","---------","----","----","----","----------",
+ "----------");
+
$targetObj->writeReport($str);
#--------------------------------------------------
## loop through all targets and do stuff
@@ -202,6 +207,11 @@ sub processIpmiSensors {
{
$fru_id=$targetObj->getAttribute($target,"FRU_ID");
}
+ my $huid="";
+ if (!$targetObj->isBadAttribute($target,"HUID"))
+ {
+ $huid=$targetObj->getAttribute($target,"HUID");
+ }
my @sensors;
foreach my $child (@{$targetObj->getTargetChildren($target)})
@@ -216,6 +226,9 @@ sub processIpmiSensors {
getAttribute($child,"IPMI_SENSOR_NAME_SUFFIX");
my $sensor_id=$targetObj->
getAttribute($child,"IPMI_SENSOR_ID");
+ my $sensor_evt=$targetObj->
+ getAttribute($child,"IPMI_SENSOR_READING_TYPE");
+
$name_suffix=~s/\n//g;
$name_suffix=~s/\s+//g;
@@ -229,15 +242,17 @@ sub processIpmiSensors {
my $s=sprintf("0x%02X%02X,0x%02X",
oct($sensor_type),oct($entity_id),oct($sensor_id));
push(@sensors,$s);
- my $sensor_id_str = "Err";
+ my $sensor_id_str = "";
if ($sensor_id ne "")
{
$sensor_id_str = sprintf("0x%02X",oct($sensor_id));
}
my $str=sprintf(
- " %30s | %10s | 0x%02X | 0x%02X | %4s | %4d | %4d | %s\n",
- $sensor_name,$name,oct($entity_id),oct($sensor_type),
- $sensor_id_str,$instance,$fru_id,$target);
+ " %30s | %10s | 0x%02X | 0x%02X | 0x%02x |" .
+ " %4s | %4d | %4d | %10s | %s\n",
+ $sensor_name,$name,oct($entity_id),oct($sensor_type),
+ oct($sensor_evt), $sensor_id_str,$instance,$fru_id,
+ $huid,$target);
$targetObj->writeReport($str);
}
}
@@ -273,6 +288,8 @@ sub processApss {
getAttribute($child,"IPMI_SENSOR_NAME_SUFFIX");
my $sensor_id=$targetObj->
getAttribute($child,"IPMI_SENSOR_ID");
+ my $sensor_evt=$targetObj->
+ getAttribute($child,"IPMI_SENSOR_READING_TYPE");
my $channel = $targetObj->
getAttribute($child,"ADC_CHANNEL_ASSIGNMENT");
my $channel_id = $targetObj->
@@ -288,7 +305,7 @@ sub processApss {
$name=~s/\s+//g;
$name=~s/\t+//g;
- my $sensor_id_str = "Err";
+ my $sensor_id_str = "";
if ($sensor_id ne "")
{
$sensor_id_str = sprintf("0x%02X",oct($sensor_id));
@@ -301,14 +318,13 @@ sub processApss {
$channel_offsets[$channel] = $channel_offset;
$channel_gains[$channel] = $channel_gain;
}
- else
- {
- $sensor_id_str="N/A";
- }
my $str=sprintf(
- " %30s | %10s | 0x%02X | 0x%02X | %4s | %4d | %4d | %s\n",
+ " %30s | %10s | 0x%02X | 0x%02X | 0x%02x |" .
+ " %4s | %4d | %4d | %10s | %s\n",
$name,"",oct($entity_id),oct($sensor_type),
- $sensor_id_str,$channel,"",$systemTarget);
+ oct($sensor_evt),$sensor_id_str,$channel,"","",
+ $systemTarget);
+
$targetObj->writeReport($str);
}
}
@@ -422,7 +438,6 @@ sub processProcessor
my $target = shift;
#########################
- ## Copy PCIE attributes from socket
## In serverwiz, processor instances are not unique
## because plugged into socket
## so processor instance unique attributes are socket level.
@@ -431,6 +446,12 @@ sub processProcessor
$targetObj->getTargetParent($targetObj->getTargetParent($target));
$targetObj->copyAttribute($socket_target,$target,"LOCATION_CODE");
+ ## Module attibutes are inherited into the proc target
+ my $module_target =
+ $targetObj->getTargetParent($target);
+ $targetObj->copyAttribute($module_target,$target,"LOCATION_CODE");
+
+ ## Copy PCIE attributes from socket
foreach my $attr (sort (keys
%{ $targetObj->getTarget($socket_target)->{TARGET}->{attribute} }))
{
@@ -439,6 +460,14 @@ sub processProcessor
$targetObj->copyAttribute($socket_target,$target,$attr);
}
}
+
+ ## Copy all attributes from module
+ foreach my $attr (sort (keys
+ %{ $targetObj->getTarget($module_target)->{TARGET}->{attribute} }))
+ {
+ $targetObj->copyAttribute($module_target,$target,$attr);
+ }
+
$targetObj->log($target, "Processing PROC");
foreach my $child (@{ $targetObj->getTargetChildren($target) })
{
@@ -508,7 +537,7 @@ sub processProcessor
else
{
$targetObj->setAttribute($target, "PROC_MASTER_TYPE",
- "MASTER_CANDIDATE");
+ "NOT_MASTER");
}
## Update bus speeds
processI2cSpeeds($targetObj,$target);
@@ -588,6 +617,11 @@ sub setupBars
"INTP_BASE_ADDR","PHB_BASE_ADDRS","PCI_BASE_ADDRS_32",
"PCI_BASE_ADDRS_64","RNG_BASE_ADDR","IBSCOM_PROC_BASE_ADDR");
+ # Attribute only valid in naples-based systems
+ if (!$targetObj->isBadAttribute($target,"NPU_MMIO_BAR_BASE_ADDR") ) {
+ push(@bars,"NPU_MMIO_BAR_BASE_ADDR");
+ }
+
foreach my $bar (@bars)
{
my ($num,$base,$node_offset,$proc_offset,$offset) = split(/,/,
@@ -606,8 +640,10 @@ sub setupBars
{
for (my $i=0;$i<$num;$i++)
{
+ #Note: Hex convert method avoids overflow on 32bit machine
my $b=sprintf("0x%016s",substr((
- $i_base+$i_node_offset*$node+$i_proc_offset*$proc+$i_offset*$i)->as_hex(),2)); #Note: Hex convert method avoids overflow on 32bit machines.
+ $i_base+$i_node_offset*$node+
+ $i_proc_offset*$proc+$i_offset*$i)->as_hex(),2));
my $sep=",";
if ($i==$num-1)
{
@@ -640,8 +676,10 @@ sub processMcs
my $i_offset = Math::BigInt->new($offset);
my $mcs = $targetObj->getAttribute($target, "MCS_NUM");
+ #Note: Hex convert method avoids overflow on 32bit machines
my $mcsStr=sprintf("0x%016s",substr((
- $i_base+$i_node_offset*$node+$i_proc_offset*$proc+$i_offset*$mcs)->as_hex(),2)); #Note: Hex convert method avoids overflow on 32bit machines.
+ $i_base+$i_node_offset*$node+
+ $i_proc_offset*$proc+$i_offset*$mcs)->as_hex(),2));
$targetObj->setAttribute($target, "IBSCOM_MCS_BASE_ADDR", $mcsStr);
}
@@ -657,23 +695,23 @@ sub processXbus
my $target = shift;
my $found_xbus = 0;
-
+
my $xbus_child_conn = $targetObj->getFirstConnectionDestination($target);
if ($xbus_child_conn ne "")
{
- ## set attributes for both directions
+ ## set attributes for both directions
$targetObj->setAttribute($xbus_child_conn, "PEER_TARGET",
- $targetObj->getAttribute($target, "PHYS_PATH"));
+ $targetObj->getAttribute($target, "PHYS_PATH"));
$targetObj->setAttribute($target, "PEER_TARGET",
- $targetObj->getAttribute($xbus_child_conn, "PHYS_PATH"));
+ $targetObj->getAttribute($xbus_child_conn, "PHYS_PATH"));
$targetObj->setAttribute($xbus_child_conn, "PEER_TARGET",
- $targetObj->getAttribute($target, "PHYS_PATH"));
+ $targetObj->getAttribute($target, "PHYS_PATH"));
$targetObj->setAttribute($target, "PEER_TARGET",
- $targetObj->getAttribute($xbus_child_conn, "PHYS_PATH"));
+ $targetObj->getAttribute($xbus_child_conn, "PHYS_PATH"));
$found_xbus = 1;
- }
+ }
}
@@ -697,8 +735,6 @@ sub processAbus
{
$targetObj->setAttribute($target, "EI_BUS_TX_MSBSWAP","0");
}
- # $targetObj->setAttribute($target, "PEER_TARGET","");
-
my $abus_child_conn = $targetObj->getFirstConnectionDestination($target);
if ($abus_child_conn ne "")
{
@@ -828,23 +864,23 @@ sub processPcie
$iop_swap{0}{1}{'11'}=$t[7];
$iop_swap{1}{0}{'00'}=$t[8];
- $iop_swap{1}{0}{'01'}=$t[9];
- $iop_swap{1}{0}{'10'}=$t[10];
+ $iop_swap{1}{0}{'10'}=$t[9];
+ $iop_swap{1}{0}{'01'}=$t[10];
$iop_swap{1}{0}{'11'}=$t[11];
$iop_swap{1}{1}{'00'}=$t[12];
$iop_swap{1}{1}{'10'}=$t[13];
$iop_swap{1}{1}{'01'}=$t[14];
$iop_swap{1}{1}{'11'}=$t[15];
- $iop_swap{2}{0}{'00'}=$t[8];
- $iop_swap{2}{0}{'01'}=$t[9];
- $iop_swap{2}{0}{'10'}=$t[10];
- $iop_swap{2}{0}{'11'}=$t[11];
- $iop_swap{2}{1}{'00'}=$t[12];
- $iop_swap{2}{1}{'10'}=$t[13];
- $iop_swap{2}{1}{'01'}=$t[14];
- $iop_swap{2}{1}{'11'}=$t[15];
+ $iop_swap{2}{0}{'00'}=$t[16];
+ $iop_swap{2}{0}{'01'}=$t[17];
+ $iop_swap{2}{0}{'10'}=$t[18];
+ $iop_swap{2}{0}{'11'}=$t[19];
+ $iop_swap{2}{1}{'00'}=$t[20];
+ $iop_swap{2}{1}{'10'}=$t[21];
+ $iop_swap{2}{1}{'01'}=$t[22];
+ $iop_swap{2}{1}{'11'}=$t[23];
my @lane_eq;
my $NUM_PHBS=4;
@@ -940,30 +976,33 @@ sub processPcie
die "PCIE config for $iop,$iop_lane_swap[$iop],$lane_rev not found\n";
}
}
- my $lane_swap_attr0 = sprintf("%s,%s,%s",$iop_lane_swap[0],
- $iop_lane_swap[1],$iop_lane_swap[2]);
- my $lane_swap_attr1 = sprintf("%s,0,%s,0,%s,0",$iop_lane_swap[0],
- $iop_lane_swap[1],$iop_lane_swap[2]);
+
+ my $lane_rev_attr0 = sprintf("%s,%s,%s",
+ oct($iop_swap_lu[0]),
+ oct($iop_swap_lu[1]),
+ oct($iop_swap_lu[2]));
+ my $lane_rev_attr1 = sprintf("%s,0,%s,0,%s,0",
+ oct($iop_swap_lu[0]),
+ oct($iop_swap_lu[1]),
+ oct($iop_swap_lu[2]));
$targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP",
- $lane_swap_attr0);
+ $lane_rev_attr0);
$targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP_NON_BIFURCATED",
- $lane_swap_attr1);
+ $lane_rev_attr1);
$targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP_BIFURCATED",
"0,0,0,0");
-
- my $lane_rev_attr = sprintf("%s,0,%s,0,%s,0",
- oct($iop_swap_lu[0]),oct($iop_swap_lu[1]),oct($iop_swap_lu[2]));
-
$targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_REVERSAL",
- $lane_rev_attr);
+ "0,0,0,0");
$targetObj->setAttribute($parentTarget,
- "PROC_PCIE_IOP_REVERSAL_NON_BIFURCATED",$lane_rev_attr);
+ "PROC_PCIE_IOP_REVERSAL_NON_BIFURCATED","0,0,0,0");
$targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_REVERSAL_BIFURCATED",
"0,0,0,0");
- my $is_slot_attr = sprintf("%s,%s,%s,%s",
- $is_slot[0][0], $is_slot[0][1], $is_slot[1][0], $is_slot[1][1], $is_slot[2][0], $is_slot[2][1]);
+ my $is_slot_attr = sprintf("%s,%s,%s,%s,%s,%s",
+ $is_slot[0][0], $is_slot[0][1],
+ $is_slot[1][0], $is_slot[1][1],
+ $is_slot[2][0], $is_slot[2][1]);
$targetObj->setAttribute($parentTarget, "PROC_PCIE_IS_SLOT", $is_slot_attr);
## don't support DSMP
@@ -1012,7 +1051,6 @@ sub processMembufVpdAssociation
my $membuf_target = $membuf_assoc->{DEST_PARENT};
setEepromAttributes($targetObj,
"EEPROM_VPD_PRIMARY_INFO",$membuf_target,$vpd);
-
my $index = $targetObj->getBusAttribute($membuf_assoc->{SOURCE},
$membuf_assoc->{BUS_NUM}, "ISDIMM_MBVPD_INDEX");
$targetObj->setAttribute(
@@ -1032,7 +1070,6 @@ sub processMembufVpdAssociation
"EEPROM_VPD_PRIMARY_INFO",$node_target,$vpd);
$targetObj->setAttribute($node_target,
"VPD_REC_NUM",$targetObj->{vpd_num});
- print ">>> $node_target,$targetObj->{vpd_num}\n";
}
}
$targetObj->{vpd_num}++;
@@ -1113,7 +1150,6 @@ sub processMembuf
setEepromAttributes($targetObj,
"EEPROM_VPD_PRIMARY_INFO",$dimm_target,
$dimm);
-
my $field=getI2cMapField($targetObj,$dimm_target,$dimm);
my $map = $dimm_portmap{$dimm_target};
if ($map eq "") {
@@ -1123,7 +1159,7 @@ sub processMembuf
$addr_map[$map] = $field;
}
}
- $targetObj->setAttribute($targetObj->{targeting}->{SYS}[0]->{KEY},
+ $targetObj->setAttribute($target,
"MRW_MEM_SENSOR_CACHE_ADDR_MAP","0x".join("",@addr_map));
## Update bus speeds
@@ -1309,7 +1345,8 @@ sub errorCheck
}
else
{
- $abus_error = sprintf("proc not connected to proc via Abus or Xbus (Target=%s)",$child);
+ $abus_error = sprintf(
+"proc not connected to proc via Abus or Xbus (Target=%s)",$child);
}
}
}
diff --git a/xml/attribute_types.xml b/xml/attribute_types.xml
index 84f241d..f928f2c 100644
--- a/xml/attribute_types.xml
+++ b/xml/attribute_types.xml
@@ -301,225 +301,6 @@
</enumerator>
<default>NO_MASTER</default>
</enumerationType>
-
-
-
-<enumerationType>
- <id>ENTITY_ID</id>
- <description>Enumeration indicating the IPMI entity ID, these values are
- defined in the IPMI specification. These values will be used in place
- of target type when events are sent to the BMC.</description>
- <enumerator>
- <name>NA</name>
- <value>0</value>
- </enumerator>
- <enumerator>
- <name>OTHER</name>
- <value>0x01</value>
- </enumerator>
- <enumerator>
- <name>PROCESSOR</name>
- <value>0x03</value>
- </enumerator>
- <enumerator>
- <name>SYSTEM_BOARD</name>
- <value>0x07</value>
- </enumerator>
- <enumerator>
- <name>POWER_MGMT</name>
- <value>0x15</value>
- </enumerator>
- <enumerator>
- <name>CHASSIS</name>
- <value>0x17</value>
- </enumerator>
- <enumerator>
- <name>MEMORY_DEVICE</name>
- <value>0x20</value>
- </enumerator>
- <enumerator>
- <name>BIOS</name>
- <value>0x22</value>
- </enumerator>
- <enumerator>
- <name>OS</name>
- <value>0x23</value>
- </enumerator>
- <enumerator>
- <name>CORE</name>
- <value>0xD0</value>
- </enumerator>
- <enumerator>
- <name>CENTAUR</name>
- <value>0xD1</value>
- </enumerator>
- <enumerator>
- <name>OCC</name>
- <value>0xD2</value>
- </enumerator>
- <enumerator>
- <name>REF_CLOCK</name>
- <value>0xD4</value>
- </enumerator>
- <enumerator>
- <name>PCI_CLOCK</name>
- <value>0xD5</value>
- </enumerator>
- <enumerator>
- <name>TOD_CLOCK</name>
- <value>0xD6</value>
- </enumerator>
- <enumerator>
- <name>APSS</name>
- <value>0xD7</value>
- </enumerator>
-</enumerationType>
-<enumerationType>
- <id>SENSOR_NAME</id>
- <description>Enumeration indicating the IPMI sensor name, which will
- be used by hostboot when determining the sensor number to return.
- The name is unique per hostboot sensor type, actual IPMI sensor
- types have been overloaded to map our needs. The sensor name consists
- of one byte of sensor type plus one byte of sub-type, to differentiate
- similar sensors under the same target</description>
- <enumerator>
- <name>TEMPERATURE</name>
- <value>0x0100</value>
- </enumerator>
- <enumerator>
- <name>VOLTAGE</name>
- <value>0x0200</value>
- </enumerator>
- <enumerator>
- <name>CURRENT</name>
- <value>0x0300</value>
- </enumerator>
- <enumerator>
- <name>INTRUSION</name>
- <value>0x0400</value>
- </enumerator>
- <enumerator>
- <name>STATE</name>
- <value>0x0500</value>
- </enumerator>
- <enumerator>
- <name>POWER_UNIT</name>
- <value>0x0600</value>
- </enumerator>
- <enumerator>
- <name>OS_BOOT</name>
- <value>0x0700</value>
- </enumerator>
- <enumerator>
- <name>HOST_STATUS</name>
- <value>0x0800</value>
- </enumerator>
- <enumerator>
- <name>FW_BOOT_PROGRESS</name>
- <value>0x0900</value>
- </enumerator>
- <enumerator>
- <name>OCC_ACTIVE</name>
- <value>0x0A00</value>
- </enumerator>
- <enumerator>
- <name>SYSTEM_POWER_CAP</name>
- <value>0x0b00</value>
- </enumerator>
- <enumerator>
- <name>PCI_ACTIVE</name>
- <value>0x0c00</value>
- </enumerator>
- <enumerator>
- <name>BOOT_WATCHDOG</name>
- <value>0x0d00</value>
- </enumerator>
- <enumerator>
- <name>REBOOT_COUNT</name>
- <value>0x0e00</value>
- </enumerator>
- <enumerator>
- <name>FAULT</name>
- <value>0x1000</value>
- </enumerator>
- <enumerator>
- <name>APSS_FAULT</name> <!-- APSS Fault -->
- <value>0x1010</value>
- </enumerator>
- <enumerator>
- <name>TOD_CLOCK_FAULT</name>
- <value>0x1017</value>
- </enumerator>
- <enumerator>
- <name>REF_CLOCK_FAULT</name>
- <value>0x101A</value>
- </enumerator>
- <enumerator>
- <name>PCI_CLOCK_FAULT</name>
- <value>0x101B</value>
- </enumerator>
- <enumerator>
- <name>APSS_CHANNEL</name> <!-- Power sensors -->
- <value>0x1100</value> <!-- 16 channels -->
- </enumerator>
-
-</enumerationType>
-
-<enumerationType>
- <id>SENSOR_TYPE</id>
- <description>Enumeration indicating the IPMI sensor type, these values
- are defined in the IPMI specification. These values will be used when
- sending sensor reading events to the BMC.</description>
- <enumerator>
- <name>NA</name>
- <value>0</value>
- </enumerator>
- <enumerator>
- <name>TEMPERATURE</name>
- <value>0x01</value>
- </enumerator>
- <enumerator>
- <name>VOLTAGE</name>
- <value>0x02</value>
- </enumerator>
- <enumerator>
- <name>CURRENT</name>
- <value>0x03</value>
- </enumerator>
- <enumerator>
- <name>PHYSICAL_SECURITY</name>
- <value>0x05</value>
- </enumerator>
- <enumerator>
- <name>PROCESSOR</name>
- <value>0x07</value>
- </enumerator>
- <enumerator>
- <name>MEMORY</name>
- <value>0x0c</value>
- </enumerator>
- <enumerator>
- <name>POWER_UNIT</name>
- <value>0x09</value>
- </enumerator>
- <enumerator>
- <name>OS_BOOT</name>
- <value>0x1F</value>
- </enumerator>
- <enumerator>
- <name>APCI_POWER_STATE</name>
- <value>0x22</value>
- </enumerator>
- <enumerator>
- <name>SYSTEM_FIRMWARE_PROGRESS</name>
- <value>0x0F</value>
- </enumerator>
- <enumerator>
- <name>REBOOT_COUNT</name>
- <value>0xC0</value>
- </enumerator>
-</enumerationType>
-
<attribute>
<id>CLASS</id>
<description>Attribute indicating the target's class</description>
@@ -531,7 +312,6 @@
<persistency>non-volatile</persistency>
<readable/>
<hasStringConversion/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -544,7 +324,6 @@
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
<hasStringConversion/>
</attribute>
@@ -558,7 +337,6 @@
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
<hasStringConversion/>
</attribute>
@@ -574,42 +352,6 @@
<readable/>
<hasStringConversion/>
</attribute>
-
-<!-- IPMI Sensor numbers are defined in the IPMI spec as 8 bit values. However
-in the hostboot code they will be defined as a uint16_t to allow us to add
-additonal information. An example relates to error logs returned by the OCC,
-we might want to pass the Entity ID in the upper byte of the sensor ID, this
-would allow hostboot to search only the target type identifed by the Entity
-ID for the sensor number returned with the elog. -->
-
-<!-- attribute to hold 16 pairs of sensor type, sensor number values -->
-<attribute>
- <id>IPMI_SENSORS</id>
- <description>Attribute to hold 16 pairs of sensor name, sensor number
- pairs. A sensor name consists of one byte of general sensor type
- and one byte of sub-type</description>
- <simpleType>
- <uint16_t></uint16_t>
- <array>16,2</array>
- </simpleType>
- <persistency>non-volatile</persistency>
- <readable/>
-</attribute>
-
-<enumerationType>
- <id>IPMI_SENSOR_ARRAY</id>
- <description>Enumeration defining the offsets into the
- IPMI_SENSORS array.</description>
- <enumerator>
- <name>NAME_OFFSET</name>
- <value>0x00</value>
- </enumerator>
- <enumerator>
- <name>NUMBER_OFFSET</name>
- <value>0x01</value>
- </enumerator>
-</enumerationType>
-
<attribute>
<id>SCRATCH_UINT8_1</id>
<description>Scratch attribute that can be used for dev/test</description>
@@ -1113,7 +855,6 @@ ID for the sensor number returned with the elog. -->
<id>ATTR_EXECUTION_PLATFORM</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -1189,6 +930,16 @@ ID for the sensor number returned with the elog. -->
<bits>1</bits>
<default>0</default>
</field>
+ <field>
+ <name>specdeconfig</name>
+ <description>Set for speculative deconfig;
+ 0b0: target not speculative deconfig;
+ 0b1: target is speculatively deconfigured;
+ </description>
+ <type>uint8_t</type>
+ <bits>1</bits>
+ <default>0</default>
+ </field>
</complexType>
<persistency>volatile</persistency>
<readable/>
@@ -1425,13 +1176,11 @@ ID for the sensor number returned with the elog. -->
</complexType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
- <id>EEPROM_VPD_FRU_INFO</id>
- <description>Information needed to address the EEPROM slaves for
- IPMI Fru Inventory Purposes</description>
+ <id>EEPROM_VPD_BACKUP_INFO</id>
+ <description>Information needed to address the EERPROM slaves</description>
<complexType>
<description>Structure to define the addressing for an I2C
slave device.</description>
@@ -1493,23 +1242,13 @@ ID for the sensor number returned with the elog. -->
<type>uint64_t</type>
<default>0x0</default>
</field>
- <field>
- <name>fruId</name>
- <description>The IPMI Fru Inventory ID number. This must be a
- unique number for every individual FRU within a
- system.</description>
- <type>uint8_t</type>
- <default>0x0</default>
- </field>
</complexType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
-
<attribute>
- <id>EEPROM_VPD_BACKUP_INFO</id>
+ <id>EEPROM_SBE_PRIMARY_INFO</id>
<description>Information needed to address the EERPROM slaves</description>
<complexType>
<description>Structure to define the addressing for an I2C
@@ -1575,11 +1314,10 @@ ID for the sensor number returned with the elog. -->
</complexType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
- <id>EEPROM_SBE_PRIMARY_INFO</id>
+ <id>EEPROM_SBE_BACKUP_INFO</id>
<description>Information needed to address the EERPROM slaves</description>
<complexType>
<description>Structure to define the addressing for an I2C
@@ -1645,15 +1383,21 @@ ID for the sensor number returned with the elog. -->
</complexType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
- <id>EEPROM_SBE_BACKUP_INFO</id>
- <description>Information needed to address the EERPROM slaves</description>
+ <id>TPM_PRIMARY_INFO</id>
+ <description>Information needed to address the TPM slaves</description>
<complexType>
<description>Structure to define the addressing for an I2C
- slave device.</description>
+ TPM.</description>
+ <field>
+ <name>tpmEnabled</name>
+ <description>Boolean indicating whether this TPM is available
+ in the system</description>
+ <type>uint8_t</type>
+ <default>0x0</default>
+ </field>
<field>
<name>i2cMasterPath</name>
<description>Entity path to the chip that contains the I2C
@@ -1666,56 +1410,103 @@ ID for the sensor number returned with the elog. -->
<description>Port from the I2C Master device. This is a 6-bit
value.</description>
<type>uint8_t</type>
- <default>0x80</default>
+ <default>0x01</default>
</field>
<field>
- <name>devAddr</name>
- <description>Device address on the I2C bus. This is a 7-bit value,
- but then shifted 1 bit left.</description>
+ <name>devAddrLocality0</name>
+ <description>Device address on the I2C bus for Locality 0.
+ This is a 7-bit value, but then shifted 1
+ bit left.</description>
<type>uint8_t</type>
- <default>0x80</default>
+ <default>0xAE</default>
+ </field>
+ <field>
+ <name>devAddrLocality4</name>
+ <description>Device address on the I2C bus for Locality 4.
+ This is a 7-bit value, but then shifted 1
+ bit left.</description>
+ <type>uint8_t</type>
+ <default>0xFF</default>
</field>
<field>
<name>engine</name>
<description>I2C master engine. This is a 2-bit
value.</description>
<type>uint8_t</type>
- <default>0x80</default>
+ <default>0x00</default>
</field>
<field>
<name>byteAddrOffset</name>
<description>The number of bytes a device requires to set its
internal address/offset.</description>
<type>uint8_t</type>
- <default>0x02</default>
+ <default>0x01</default>
</field>
+ </complexType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
+
+<attribute>
+ <id>TPM_BACKUP_INFO</id>
+ <description>Information needed to address the TPM slaves</description>
+ <complexType>
+ <description>Structure to define the addressing for an I2C
+ TPM device.</description>
<field>
- <name>maxMemorySizeKB</name>
- <description>The number of kilobytes a device can hold. 'Zero'
- value possible for some devices.</description>
- <type>uint64_t</type>
+ <name>tpmEnabled</name>
+ <description>Boolean indicating whether this TPM is available
+ in the system</description>
+ <type>uint8_t</type>
<default>0x0</default>
</field>
<field>
- <name>writePageSize</name>
- <description>The maximum number of bytes that can be written to
- a device at one time. 'Zero' value means no maximum
- value is expected or checked.</description>
- <type>uint64_t</type>
- <default>0x0</default>
+ <name>i2cMasterPath</name>
+ <description>Entity path to the chip that contains the I2C
+ master</description>
+ <type>EntityPath</type>
+ <default>physical:sys-0</default>
</field>
<field>
- <name>writeCycleTime</name>
- <description>The amount of time in milliseconds a device requires
- on the completion of a write command to update its
- internal memory.</description>
- <type>uint64_t</type>
- <default>0x0</default>
+ <name>port</name>
+ <description>Port from the I2C Master device. This is a 6-bit
+ value.</description>
+ <type>uint8_t</type>
+ <default>0x01</default>
+ </field>
+ <field>
+ <name>devAddrLocality0</name>
+ <description>Device address on the I2C bus for Locality 0.
+ This is a 7-bit value, but then shifted 1
+ bit left.</description>
+ <type>uint8_t</type>
+ <default>0xAE</default>
+ </field>
+ <field>
+ <name>devAddrLocality4</name>
+ <description>Device address on the I2C bus for Locality 4.
+ This is a 7-bit value, but then shifted 1
+ bit left.</description>
+ <type>uint8_t</type>
+ <default>0xFF</default>
+ </field>
+ <field>
+ <name>engine</name>
+ <description>I2C master engine. This is a 2-bit
+ value.</description>
+ <type>uint8_t</type>
+ <default>0x00</default>
+ </field>
+ <field>
+ <name>byteAddrOffset</name>
+ <description>The number of bytes a device requires to set its
+ internal address/offset.</description>
+ <type>uint8_t</type>
+ <default>0x01</default>
</field>
</complexType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -1748,7 +1539,6 @@ ID for the sensor number returned with the elog. -->
<id>ATTR_CHIP_ID</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -2397,7 +2187,6 @@ ID for the sensor number returned with the elog. -->
</complexType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -3000,6 +2789,119 @@ ID for the sensor number returned with the elog. -->
<!-- ===== Processor Chip Attributes ===== -->
+<enumerationType>
+ <id>NPU_MMIO_BAR_ENABLE</id>
+ <description>Enumeration indicating whether MMIO BAR is enabled or not to be
+ used with ATTR_PROC_NPU_MMIO_BAR_ENABLE</description>
+ <enumerator>
+ <name>DISABLE</name>
+ <value>0</value>
+ </enumerator>
+ <enumerator>
+ <name>ENABLE</name>
+ <value>1</value>
+ </enumerator>
+</enumerationType>
+
+<attribute>
+ <id>NPU_MMIO_BAR_ENABLE</id>
+ <description>NPU MMIO BAR enables
+ creator: platform
+ consumer: proc_setup_bars
+ firmware notes: none
+ first dimension: unit number (0:3)
+ second dimension: BAR number (0:1)
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
+ <array>4,2</array>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_NPU_MMIO_BAR_ENABLE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+<attribute>
+ <id>NPU_MMIO_BAR_BASE_ADDR</id>
+ <description>NPU MMIO BAR base address values
+ creator: platform
+ consumer: proc_setup_bars
+ firmware notes:
+ 64-bit address representing BAR RA
+ NOTE: BAR register covers RA 14:51
+ first dimension: unit number (0:3)
+ second dimension: BAR number (0:1)
+ </description>
+ <simpleType>
+ <uint64_t>
+ <default>0</default>
+ </uint64_t>
+ <array>4,2</array>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_NPU_MMIO_BAR_BASE_ADDR</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<enumerationType>
+ <id>NPU_MMIO_BAR_SIZE</id>
+ <description>Enumeration indicating the BAR size
+ used with ATTR_PROC_NPU_MMIO_BAR_SIZE</description>
+ <enumerator>
+ <name>2_MB</name>
+ <value>0x0000000000200000</value>
+ </enumerator>
+ <enumerator>
+ <name>1_MB</name>
+ <value>0x0000000000100000</value>
+ </enumerator>
+ <enumerator>
+ <name>512_KB</name>
+ <value>0x0000000000080000</value>
+ </enumerator>
+ <enumerator>
+ <name>256_KB</name>
+ <value>0x0000000000040000</value>
+ </enumerator>
+ <enumerator>
+ <name>128_KB</name>
+ <value>0x0000000000020000</value>
+ </enumerator>
+ <enumerator>
+ <name>64_KB</name>
+ <value>0x0000000000010000</value>
+ </enumerator>
+</enumerationType>
+<attribute>
+ <id>NPU_MMIO_BAR_SIZE</id>
+ <description>NPU MMIO BAR size values
+ creator: platform
+ consumer: proc_setup_bars
+ firmware notes: none
+ first dimension: unit number (0:3)
+ second dimension: BAR number (0:1)
+ </description>
+ <simpleType>
+ <uint64_t>
+ <default>0</default>
+ </uint64_t>
+ <array>4,2</array>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_NPU_MMIO_BAR_SIZE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
<attribute>
<id>FSP_BASE_ADDR</id>
<description>Base Address of FSP IO Region</description>
@@ -3435,6 +3337,11 @@ ID for the sensor number returned with the elog. -->
<name>FSP_UPDATE_SBE_IMAGE</name>
<value>0x00020000</value>
</enumerator>
+ <enumerator>
+ <!-- Update both sides of SBE Image if update is needed -->
+ <name>UPDATE_BOTH_SIDES_OF_SBE</name>
+ <value>0x00040000</value>
+ </enumerator>
</enumerationType>
<!-- Support for pm_hwp_attributes.xml -->
@@ -4436,7 +4343,6 @@ Consumers: proc_pcbs_init.C, proc_pcbs_lpst_init.C,
<id>ATTR_PM_IVRMS_ENABLED</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -4489,7 +4395,6 @@ The value of Psafe needs to be at or below the nominal Pstate to make sure safe
<id>ATTR_PM_RESONANT_CLOCK_ENABLE</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -4508,7 +4413,6 @@ Defines the Pstate for the point at which clock sector buffers should be at full
<id>ATTR_PM_RESONANT_CLOCK_FULL_CSB_PSTATE</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -4526,7 +4430,6 @@ Defines the Pstate for the point at which clock sector buffers should be at full
<id>ATTR_PM_RESONANT_CLOCK_LFRLOW_PSTATE</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -4544,7 +4447,6 @@ Defines the Pstate for the point at which clock sector buffers should be at full
<id>ATTR_PM_RESONANT_CLOCK_LFRUPPER_PSTATE</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -4562,7 +4464,6 @@ Defines the Pstate for the point at which clock sector buffers should be at full
<id>ATTR_PM_RESONANT_CLOCK_HFRLOW_PSTATE</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -4580,7 +4481,6 @@ Defines the Pstate for the point at which clock sector buffers should be at full
<id>ATTR_PM_RESONANT_CLOCK_HFRHIGH_PSTATE</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5046,7 +4946,6 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<id>ATTR_PM_SAFE_FREQUENCY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5068,7 +4967,6 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<id>ATTR_PM_RESONANT_CLOCK_FULL_CLOCK_SECTOR_BUFFER_FREQUENCY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5089,7 +4987,6 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<id>ATTR_PM_RESONANT_CLOCK_LOW_BAND_LOWER_FREQUENCY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5110,7 +5007,6 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<id>ATTR_PM_RESONANT_CLOCK_LOW_BAND_UPPER_FREQUENCY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5131,7 +5027,6 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<id>ATTR_PM_RESONANT_CLOCK_HIGH_BAND_LOWER_FREQUENCY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5152,7 +5047,6 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<id>ATTR_PM_RESONANT_CLOCK_HIGH_BAND_UPPER_FREQUENCY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5176,7 +5070,6 @@ Divider for the 1us PBAX hang pulse. A hang is detected after two divided hang
<id>ATTR_PM_SPIPSS_FREQUENCY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -5785,11 +5678,11 @@ firmware notes: Used as override attribute for pstate procedure
consumer: proc_pcie_scominit
firmware notes:
Encoded PCIE IOP swap configuration
- Array index: IOP number (0:1)
+ Array index: IOP number (0:2)
</description>
<simpleType>
<uint8_t></uint8_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5807,7 +5700,7 @@ firmware notes: Used as override attribute for pstate procedure
consumer: proc_pcie_scominit
firmware notes:
Bit mask defining set of active/valid PHBs
- bit0=PHB0, bit1=PHB1, bit2=PHB2
+ bit0=PHB0, bit1=PHB1, bit2=PHB2, bit3=PHB3
</description>
<simpleType><uint8_t></uint8_t></simpleType>
<persistency>non-volatile</persistency>
@@ -5827,11 +5720,11 @@ firmware notes: Used as override attribute for pstate procedure
firmware notes:
PCIe Gen3 PLL Control Register 0.
ATUNE/CPISEL.
- Array index: IOP number(0:1)
+ Array index: IOP number(0:2)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5849,11 +5742,11 @@ firmware notes: Used as override attribute for pstate procedure
firmware notes:
PCIe Gen2/Gen1 PLL Control Register 0.
ATUNE/CPISEL.
- Array index: IOP number(0:1)
+ Array index: IOP number(0:2)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5871,11 +5764,11 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe PLL Global Control Register 0.
REFISRC/REFISINK.
- Array index: IOP number (0:1)
+ Array index: IOP number (0:2)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5893,11 +5786,11 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe PLL Global Control Register 1.
ENBGDOCPSRC/ENBGDOCAMP/REFVREG.
- Array index: IOP number (0:1)
+ Array index: IOP number (0:2)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5916,11 +5809,11 @@ firmware notes: Used as override attribute for pstate procedure
PCIe PCS Control Register 0.
BITLOCKTIME/ADDDREMDELTA_810_B/STARTUPDELTA_810_B/ADDDREMDELTA_810_A/
STARTUPDELTA_A/RXREJECTHANDLING/EQCOMLETERESPONSE.
- Array index: IOP number (0:1)
+ Array index: IOP number (0:2)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5939,11 +5832,11 @@ firmware notes: Used as override attribute for pstate procedure
PCIe PCS Control Register 1.
RXSIGDETSETTING/ADDDREMDELTA_128130_B/STARTUPDELTA_128130_B/
ADDDREMDELTA_128130_A/STARTUPDELTA_128130_A.
- Array index: IOP number (0:1)
+ Array index: IOP number (0:2)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5961,12 +5854,12 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe TX FIFO Offset Register.
G3OFFSET/G2OFFSET/G1OFFSET.
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -5984,12 +5877,12 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe TX Receiver Detect Control Register.
VREFSEL/RCVRDETCNT/DETDRVC/PH1WAIT.
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -6007,12 +5900,12 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe TX Bandwidth Loss Coefficient Register.
GEN3BWCOEFF/GEN2BWCOEFF/GEN1BWCOEFF.
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -6030,12 +5923,12 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe RX VGA Control Register 2.
GAIN2/GAIN1.
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -6053,12 +5946,12 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe RX Receiver Peaking Value Register.
PEAK1/PEAK2/PEAK3.
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -6076,12 +5969,12 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe RX Signal Detect Level Register.
SDLVL3/SDLVL2/SDLVL1.
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -6099,11 +5992,11 @@ firmware notes: Used as override attribute for pstate procedure
notes:
PCIe ZCAL Control Register.
CMPEVALDLY.
- Array index: IOP number (0:1)
+ Array index: IOP number (0:2)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2</array>
+ <array>3</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -10923,11 +10816,10 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
consumer: proc_pcie_scominit
firmware notes:
Bit mask defining state of refclock drive enables
- bit0=PCI0, bit1=PCI1, bit2=PCI2
+ bit0=PCI0, bit1=PCI1, bit2=PCI2, bit3=PCI3
</description>
<simpleType>
<uint8_t>
- <default>0xE0</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
@@ -10987,7 +10879,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_PROC_DCM_INSTALLED</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
@@ -11010,7 +10901,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_X_EREPAIR_THRESHOLD_FIELD</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -11031,7 +10921,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_A_EREPAIR_THRESHOLD_FIELD</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -11052,7 +10941,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_DMI_EREPAIR_THRESHOLD_FIELD</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -11073,7 +10961,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_X_EREPAIR_THRESHOLD_MNFG</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -11094,7 +10981,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_A_EREPAIR_THRESHOLD_MNFG</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -11115,7 +11001,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_DMI_EREPAIR_THRESHOLD_MNFG</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<!-- ===== End Attributes supporting erepair_thresholds.xml HWPF Attributes ===== -->
@@ -11775,11 +11660,29 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<attribute>
<id>FRU_ID</id>
- <description>FRU ID attribute for chip class</description>
+ <description>FRU ID attribute used to report FRU information to the BMC for each
+ fru in the system.</description>
+ <simpleType><uint32_t><default>0</default></uint32_t></simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
+
+<attribute>
+ <id>BMC_FRU_ID</id>
+ <description>BMC FRU ID attribute to report the system firmware levels to the BMC.</description>
<simpleType><uint32_t><default>0</default></uint32_t></simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <global/>
+</attribute>
+
+<attribute>
+ <id>CENTAUR_ECID_FRU_ID</id>
+ <description>FRU ID attribute for centaur ECID data. This fru ID is used to
+ report the ECID data to the BMC and make it available for systems which
+ have then centaur chips soldered to the backplane.</description>
+ <simpleType><uint8_t><default>0xFF</default></uint8_t></simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
</attribute>
<attribute>
@@ -12184,7 +12087,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<description>
MFG_Guard policy:
Used in MFG only to prevent and disable the following:
- . Storing or creation of new Guard records from Diagnostic or other
+ . Storing or creation of new Guard records from Diagno`stic or other
faults through error logs. This is all domains, CEC
processor/memory, VPD, FSP, etc.
. Storing or creation of Manual Guard record from user.
@@ -12991,6 +12894,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_PROC_VRM_VOFFSET_VDD</id>
<macro>DIRECT</macro>
@@ -13012,6 +12916,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_PROC_VRM_VOFFSET_VCS</id>
<macro>DIRECT</macro>
@@ -13059,6 +12964,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_PROC_R_LOADLINE_VDD</id>
<macro>DIRECT</macro>
@@ -13080,6 +12986,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_PROC_R_LOADLINE_VCS</id>
<macro>DIRECT</macro>
@@ -13101,6 +13008,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_PROC_R_DISTLOSS_VDD</id>
<macro>DIRECT</macro>
@@ -13122,6 +13030,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <writeable/>
<hwpfToHbAttrMap>
<id>ATTR_PROC_R_DISTLOSS_VCS</id>
<macro>DIRECT</macro>
@@ -13154,7 +13063,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_PM_UNDERVOLTING_FRQ_MINIMUM</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13183,7 +13091,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_PM_UNDERVOLTING_FREQ_MAXIMUM</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13207,7 +13114,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_PM_WINKLE_ENTRY</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13233,7 +13139,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_PM_WINKLE_EXIT</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<enumerationType>
@@ -13367,7 +13272,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13392,12 +13296,12 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
consumer: proc_pcie_scominit
notes:
PCIe TX FFE (Gen1)
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -13414,12 +13318,12 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
consumer: proc_pcie_scominit
notes:
PCIe TX FFE (Gen2)
- First array index: IOP number (0:1)
+ First array index: IOP number (0:2)
Second array index: Lane number (0:15)
</description>
<simpleType>
<uint32_t></uint32_t>
- <array>2,16</array>
+ <array>3,16</array>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
@@ -13541,7 +13445,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_PM_SYSTEM_IVRMS_ENABLED</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13561,7 +13464,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_PM_SYSTEM_IVRM_VPD_MIN_LEVEL</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13761,7 +13663,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_REDUNDANT_CLOCKS</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13850,7 +13751,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_MNFG_DMI_MIN_EYE_WIDTH</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13872,7 +13772,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_MNFG_DMI_MIN_EYE_HEIGHT</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13894,7 +13793,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_MNFG_ABUS_MIN_EYE_WIDTH</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13916,7 +13814,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_MNFG_ABUS_MIN_EYE_HEIGHT</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -13938,7 +13835,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<id>ATTR_MNFG_XBUS_MIN_EYE_WIDTH</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
- <serverwizHide/>
</attribute>
<attribute>
@@ -14285,10 +14181,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VDD_SLOPE_ACTIVE</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+ <writeable/>
</attribute>
<attribute>
@@ -14302,10 +14195,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VDD_SLOPE_INACTIVE</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+ <writeable/>
</attribute>
<attribute>
@@ -14319,10 +14209,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VDD_SLOPE_INTERCEPT</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+ <writeable/>
</attribute>
<attribute>
@@ -14336,10 +14223,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VCS_SLOPE_ACTIVE</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+ <writeable/>
</attribute>
<attribute>
@@ -14353,10 +14237,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VCS_SLOPE_INACTIVE</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+ <writeable/>
</attribute>
<attribute>
@@ -14370,10 +14251,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VCS_SLOPE_INTERCEPT</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+ <writeable/>
</attribute>
<attribute>
@@ -14387,10 +14265,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VPP_SLOPE</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
</attribute>
<attribute>
@@ -14404,10 +14278,34 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_VPP_SLOPE_INTERCEPT</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_VPP_SLOPE_POST_DRAM_INIT</id>
+ <description>Units: uV/DRAM
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_VPP_INTERCEPT_POST_DRAM_INIT</id>
+ <description>Units: mV
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
</attribute>
<attribute>
@@ -14421,10 +14319,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_DDR3_VDDR_SLOPE</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
</attribute>
<attribute>
@@ -14438,10 +14332,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_DDR3_VDDR_INTERCEPT</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
</attribute>
<attribute>
@@ -14456,10 +14346,49 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MRW_DDR3_VDDR_MAX_LIMIT</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR3_VDDR_SLOPE_POST_DRAM_INIT</id>
+ <description>Units: 1/Amps
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR3_VDDR_INTERCEPT_POST_DRAM_INIT</id>
+ <description>Units: mV
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>MRW_DDR3_VDDR_MAX_LIMIT_POST_DRAM_INIT</id>
+ <description>Maximum voltage limit for the dynamic VID DDR3 VDDR
+ voltage setpoint. In mV.
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
</attribute>
<attribute>
@@ -14473,10 +14402,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_DDR4_VDDR_SLOPE</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
</attribute>
<attribute>
@@ -14490,10 +14415,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MSS_DDR4_VDDR_INTERCEPT</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
</attribute>
<attribute>
@@ -14508,10 +14429,49 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hwpfToHbAttrMap>
- <id>ATTR_MRW_DDR4_VDDR_MAX_LIMIT</id>
- <macro>DIRECT</macro>
- </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR4_VDDR_SLOPE_POST_DRAM_INIT</id>
+ <description>Units: 1/Amps
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR4_VDDR_INTERCEPT_POST_DRAM_INIT</id>
+ <description>Units: mV
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
+</attribute>
+
+<attribute>
+ <id>MRW_DDR4_VDDR_MAX_LIMIT_POST_DRAM_INIT</id>
+ <description>Maximum voltage limit for the dynamic VID DDR4 VDDR voltage
+ setpoint. In mV.
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <writeable/>
</attribute>
<attribute>
@@ -14538,6 +14498,26 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</attribute>
<attribute>
+ <id>MSS_VOLT_COMPLIANT_DIMMS</id>
+ <description>
+ Compliant Voltages. Created to call out non-compliant dimms
+ if they exist in the system.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_MSS_VOLT_COMPLIANT_DIMMS</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
<id>MSS_VDDR_OVERIDE_SPD</id>
<description>
DIMM SPD voltage override for VDDR voltage calculations.
@@ -14805,22 +14785,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</attribute>
<attribute>
- <id>IOP_LANES_PER_PROC</id>
- <description>Number of PCIE lanes per processor
- Creator: Targeting definition
- Purpose: Determines which IOP configuration table is used to build the
- PE lane config value and PHB active masks for the HWPs
- Data format: value of 24 or 32 (lanes per processor)
- </description>
- <simpleType>
- <uint8_t>
- </uint8_t>
- </simpleType>
- <persistency>non-volatile</persistency>
- <readable/>
-</attribute>
-
-<attribute>
<id>PROC_PCIE_LANE_MASK</id>
<description>Effective PCIE Lane Mask
Creator: Firmware
@@ -15155,7 +15119,6 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15171,6 +15134,60 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
<readable/>
<writeable/>
</attribute>
+<enumerationType>
+ <id>SUPPORTED_HOT_PLUG</id>
+ <description>
+ Enumeration indication which Hot Plug Controllers are supported by
+ the current system.
+ </description>
+ <enumerator>
+ <name>NA</name>
+ <value>0</value>
+ </enumerator>
+ <enumerator>
+ <name>MAX5961</name>
+ <value>0x01</value>
+ </enumerator>
+ <enumerator>
+ <name>PCA9551</name>
+ <value>0x02</value>
+ </enumerator>
+ <default>NA</default>
+</enumerationType>
+
+<attribute>
+ <id>HOT_PLUG_POWER_CONTROLLER_INFO</id>
+ <description>Hot Plug Controller values for a specific processor.
+ Purpose: Holds information about the hot plug controllers so that a
+ Hardware procedure is able to turn them on and off.
+ Data Format: up to 8 Hot Plug Controllers x 7 variables of information
+ This data is at the processor level.
+ The needed information and their individual sizes are as follows:
+ (1) I2C Master processor engine (uint8_t)
+ (2) I2C Master processor port (uint8_t)
+ (3) Bus Speed (uint16_t value: 2 uint8_t values: MSB, LSB)
+ (4) Slave address (uint8_t)
+ (5) Device type (uint8_t: see SUPPORTED_HOT_PLUG enum)
+ (6) I2C Master processor node (uint8_t)
+ (7) I2C Master processor position (uint8_t)
+ Thus, the information will be 8 bytes.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+ </default>
+ </uint8_t>
+ <array>8,8</array>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_HOT_PLUG_POWER_CONTROLLER_INFO</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
<attribute>
<id>ISTEP_PAUSE_CONFIG</id>
@@ -15219,6 +15236,64 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</hwpfToHbAttrMap>
</attribute>
+<attribute>
+ <id>PROC_PCIE_NUM_PHB</id>
+ <description>
+ creator: platform
+ Number of PCIe PHB units present on target
+ Murano/Venice: 3
+ Naples: 4
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_PCIE_NUM_PHB</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>PROC_PCIE_NUM_IOP</id>
+ <description>
+ creator: platform
+ Number of PCIe IOP units present on target
+ Murano/Venice: 2
+ Naples: 3
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_PCIE_NUM_IOP</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>PROC_PCIE_NUM_LANES</id>
+ <description>
+ creator: platform
+ Number of PCIe I/O lanes supported by target
+ Murano: 24
+ Venice: 32
+ Naples: 40
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PROC_PCIE_NUM_LANES</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
<!-- === Manufacturing threshold Attributes of PRD === -->
<attribute>
@@ -15230,11 +15305,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>1</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15246,11 +15321,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>1</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15262,11 +15337,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>3</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15278,11 +15353,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>1</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15294,11 +15369,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>6</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15310,11 +15385,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>6</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15326,11 +15401,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>7</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15342,11 +15417,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>7</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15358,11 +15433,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>0</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15374,11 +15449,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>0</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15390,11 +15465,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>0</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15406,11 +15481,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>0</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15422,11 +15497,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>2</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15438,11 +15513,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>2</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15454,11 +15529,11 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>2</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
<attribute>
@@ -15469,40 +15544,268 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript
</description>
<simpleType>
<uint8_t>
+ <default>2</default>
</uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <serverwizHide/>
</attribute>
-<!-- === Manufacturing threshold Attributes of PRD === -->
<attribute>
- <id>OPAL_MODEL</id>
+ <id>RESOURCE_IS_CRITICAL</id>
<description>
- Specifies the compatible model name for Opal to key off of.
- This is sourced from the MRW and should be of the format
- 'vendor,model', e.g. 'tyan,palmetto'.
+ Used to tell if a resource is critical to perform an IPL. If this
+ attribute is set to 1 and the target is deconfigured, the IPL MUST
+ terminate.
</description>
<simpleType>
- <string>
- <default>tyan,palmetto</default><!-- @fixme-RTC:120092 -->
- <sizeInclNull>32</sizeInclNull>
- </string>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
+
+
+<attribute>
+ <id>BRAZOS_RX_FIFO_OVERRIDE</id>
+ <description>
+ Defines where to apply Brazos rx_fifo_final_l2u_dly override settings for SW299500.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_BRAZOS_RX_FIFO_OVERRIDE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<!-- === Manufacturing threshold Attributes of PRD === -->
+
+<attribute>
+ <id>MSS_VMEM_REGULATOR_MAX_DIMM_COUNT</id>
+ <description>Maximum number of installed DIMMs per VMEM regulator for all
+ VMEM regulators in the system.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_MSS_VMEM_REGULATOR_MAX_DIMM_COUNT</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
</attribute>
+
+<attribute>
+ <id>MRW_VMEM_REGULATOR_POWER_LIMIT_PER_DIMM_ADJ_ENABLE</id>
+ <description>Machine Readable Workbook enablement of the HWP code to adjust
+ the VMEM regulator power limit based on number of installed DIMMs.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_MRW_VMEM_REGULATOR_POWER_LIMIT_PER_DIMM_ADJ_ENABLE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>MRW_MAX_NUMBER_DIMMS_POSSIBLE_PER_VMEM_REGULATOR</id>
+ <description>Machine Readable Workbook value for the maximum possible number
+ of dimms that can be installed under any of the VMEM regulators.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_MRW_MAX_NUMBER_DIMMS_POSSIBLE_PER_VMEM_REGULATOR</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM</id>
+ <description>Machine Readable Workbook VMEM regulator power limit per CDIMM
+ assuming a full configuration. Units in cW.
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<enumerationType>
+ <id>MRW_NEST_CAPABLE_FREQUENCIES_SYS</id>
+ <description>Enumeration of MRW_NEST_CAPABLE_FREQUENCIES_SYS</description>
+ <enumerator>
+ <name>UNSUPPORTED_FREQ</name>
+ <value>0</value>
+ </enumerator>
+ <enumerator>
+ <name>2000_MHZ</name>
+ <value>1</value>
+ </enumerator>
+ <enumerator>
+ <name>2400_MHZ</name>
+ <value>2</value>
+ </enumerator>
+ <enumerator>
+ <name>2000_MHZ_OR_2400_MHZ</name>
+ <value>3</value>
+ </enumerator>
+</enumerationType>
+
<attribute>
- <id>ENTITY_ID</id>
- <description></description>
+ <id>MRW_NEST_CAPABLE_FREQUENCIES_SYS</id>
+ <description>The NEST frequencies that the system can support. This is a bit-wise value that represents which of the possible nest frequencies are supported : 2.0GHz, 2.4GHz, or both.
+ </description>
<simpleType>
<enumeration>
- <id>ENTITY_ID</id>
+ <id>MRW_NEST_CAPABLE_FREQUENCIES_SYS</id>
+ <default>UNSUPPORTED_FREQ</default>
</enumeration>
</simpleType>
<persistency>non-volatile</persistency>
<readable/>
- <hasStringConversion/>
</attribute>
+
+<attribute>
+ <id>WOF_ENABLED</id>
+ <description>
+ Defines if the Workload Optimization Frequency (WOF) system feature
+ where OCC algorithms will change (typically boost) the operational
+ frequency based on measured power available and any currently idling
+ cores.
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_WOF_ENABLED</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>TRUSTED_SLAVE_SCAN_PATH_ACTIVE</id>
+ <description>
+ Set to indicate state of master->slave scan path.
+ Platform should default to false at beginning of IPL, and set to
+ true once trusted XSCOM path is active to all slave chips in drawer
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_TRUSTED_SLAVE_SCAN_PATH_ACTIVE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>FORCE_SKIP_SBE_MASTER_INTR_SERVICE</id>
+ <description>
+ Set to force skip of SBE interrupt service for master chip.
+ Default is to disable the use of the SBE interrupt service.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>1</default>
+ </uint8_t>
+ </simpleType>
+ <persistency>volatile</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_FORCE_SKIP_SBE_MASTER_INTR_SERVICE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>FORCE_USE_SBE_SLAVE_SCAN_SERVICE</id>
+ <description>
+ Set to force use of SBE scan service for slave chips.
+ Default is to enable the use of the SBE scan service
+ only for slave chips with security enabled.
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_FORCE_USE_SBE_SLAVE_SCAN_SERVICE</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>SBE_MASTER_INTR_SERVICE_DELAY_CYCLES</id>
+ <description>
+ Cycle delay of SBE master interrupt service loop wait statement.
+ Paces rate of decrementer progress and prevents SBE from consuming PIB.
+ </description>
+ <simpleType>
+ <uint32_t></uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_SBE_MASTER_INTR_SERVICE_DELAY_CYCLES</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
+<attribute>
+ <id>SBE_MASTER_INTR_SERVICE_DELAY_US</id>
+ <description>
+ Execution delay (in microseconds) of SBE master interrupt service loop.
+ </description>
+ <simpleType>
+ <uint32_t></uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_SBE_MASTER_INTR_SERVICE_DELAY_US</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+</attribute>
+
</attributes>
diff --git a/xml/attribute_types_hb.xml b/xml/attribute_types_hb.xml
index 57fb8e6..c30e652 100644
--- a/xml/attribute_types_hb.xml
+++ b/xml/attribute_types_hb.xml
@@ -31,6 +31,46 @@
Contains the definition of hostboot attributes which should not be
synced to/from FSP
================================================================= -->
+<attribute>
+ <id>HIDDEN_ERRLOGS_ENABLE</id>
+ <description>
+ Used to decide whether or not to prevent INFORMATIONAL/RECOVERED error
+ logs from being sent to the BMC via SEL/eSEL, saved to the PNOR, and
+ displayed to the console.
+ 0 = Prevent INFORMATIONAL/RECOVERED error logs from being processed.
+ 1 = Send only INFORMATIONAL error logs.
+ 2 = Send only RECOVERED error logs.
+ 3 = Allow all hidden error logs to be processed.
+ </description>
+ <simpleType>
+ <uint8_t>
+ <default>0</default>
+ </uint8_t>
+ </simpleType>
+ <persistency>volatile</persistency>
+ <readable/>
+</attribute>
+
+<enumerationType>
+ <id>HIDDEN_ERRLOGS_ENABLE</id>
+ <description>Enumeration of HIDDEN_ERRLOGS_ENABLE</description>
+ <enumerator>
+ <name>NO_HIDDEN_LOGS</name>
+ <value>0</value>
+ </enumerator>
+ <enumerator>
+ <name>ALLOW_INFORMATIONAL</name>
+ <value>1</value>
+ </enumerator>
+ <enumerator>
+ <name>ALLOW_RECOVERED</name>
+ <value>2</value>
+ </enumerator>
+ <enumerator>
+ <name>ALLOW_ALL_LOGS</name>
+ <value>3</value>
+ </enumerator>
+</enumerationType>
<attribute>
<id>IS_MPIPL_HB</id>
@@ -239,7 +279,7 @@
<attribute>
<id>HB_EXISTING_IMAGE</id>
<description>Indicates which logical nodes have a hostboot image.</description>
- <!-- Bit position [0-7] (left to right) represents logical node.
+ <!-- Bit position [0-7] (left to right) represents logical node.
'1' means the logical node has an active hostboot image.
-->
<simpleType>
@@ -339,6 +379,20 @@
</attribute>
<attribute>
+ <id>OCC_COMMON_AREA_PHYS_ADDR</id>
+ <description>
+ Physical address where OCC Common Area is placed in mainstore.
+ </description>
+ <simpleType>
+ <uint64_t></uint64_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
<id>HOMER_PHYS_ADDR</id>
<description>
Physical address where HOMER image is placed in mainstore.
@@ -570,7 +624,16 @@
<persistency>non-volatile</persistency>
<readable/>
</attribute>
-
+<attribute>
+ <id>ADC_CHANNEL_SENSOR_NUMBERS</id>
+ <description>ADC Channel IPMI sensor numbers. 16 channels.</description>
+ <simpleType>
+ <uint16_t></uint16_t>
+ <array>16</array>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
<attribute>
<id>ADC_CHANNEL_GNDS</id>
<description>ADC Channel ground. 16 channels.</description>
@@ -642,6 +705,18 @@
</attribute>
<attribute>
+ <id>PSTATE_TABLE_MFG</id>
+ <description>HTMGT PSTATE data for mfg</description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ <array>1904</array>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+</attribute>
+
+<attribute>
<id>OCC_CONTROL_DATA</id>
<description>OCC operational data
</description>
@@ -743,9 +818,26 @@
<complexType>
<description>VPD flags</description>
<field>
- <name>pnorLoaded</name>
+ <name>pnorCacheValid</name>
<description>Set when this target's VPD data has been loaded
- into the PNOR.
+ from EEPROM into the PNOR.
+ </description>
+ <type>uint8_t</type>
+ <bits>1</bits>
+ <default>0</default>
+ </field>
+ <field>
+ <name>pnorCacheValidRT</name>
+ <description>See pnorCacheValid. Allows runtime version to be
+ set separately from common version.
+ </description>
+ <type>uint8_t</type>
+ <bits>1</bits>
+ <default>0</default>
+ </field>
+ <field>
+ <name>disableWriteToPnorRT</name>
+ <description>Set to disable write-thru to PNOR at runtime
</description>
<type>uint8_t</type>
<bits>1</bits>
@@ -755,7 +847,7 @@
<name>reserved</name>
<description>Reserved for future expansion</description>
<type>uint8_t</type>
- <bits>7</bits>
+ <bits>5</bits>
<default>0</default>
</field>
</complexType>
@@ -773,7 +865,7 @@
</description>
<simpleType>
<string>
- <default>tyan,palmetto</default><!-- @fixme-RTC:120092 -->
+ <default>ibm,miscopenpower</default>
<sizeInclNull>32</sizeInclNull>
</string>
</simpleType>
@@ -801,4 +893,508 @@
</hwpfToHbAttrMap>
</attribute>
+<attribute>
+ <id>HTMGT_SAFEMODE</id>
+ <description>1 = in safemode. 0 = in normal mode.</description>
+ <simpleType>
+ <uint8_t>
+ </uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+<attribute>
+ <id>IPMI_INSTANCE</id>
+ <description>Holds the IPMI instance number for this entity.</description>
+ <simpleType>
+ <uint32_t>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
+<enumerationType>
+ <id>ENTITY_ID</id>
+ <description>Enumeration indicating the IPMI entity ID, these values are
+ defined in the IPMI specification. These values will be used in place
+ of target type when events are sent to the BMC.</description>
+ <enumerator>
+ <name>NA</name>
+ <value>0</value>
+ </enumerator>
+ <enumerator>
+ <name>OTHER</name>
+ <value>0x01</value>
+ </enumerator>
+ <enumerator>
+ <name>PROCESSOR</name>
+ <value>0x03</value>
+ </enumerator>
+ <enumerator>
+ <name>SYSTEM_BOARD</name>
+ <value>0x07</value>
+ </enumerator>
+ <enumerator>
+ <name>POWER_MGMT</name>
+ <value>0x15</value>
+ </enumerator>
+ <enumerator>
+ <name>CHASSIS</name>
+ <value>0x17</value>
+ </enumerator>
+ <enumerator>
+ <name>MEMORY_DEVICE</name>
+ <value>0x20</value>
+ </enumerator>
+ <enumerator>
+ <name>BIOS</name>
+ <value>0x22</value>
+ </enumerator>
+ <enumerator>
+ <name>OS</name>
+ <value>0x23</value>
+ </enumerator>
+ <enumerator>
+ <name>CORE</name>
+ <value>0xD0</value>
+ </enumerator>
+ <enumerator>
+ <name>MEMBUF</name>
+ <value>0xD1</value>
+ </enumerator>
+ <enumerator>
+ <name>OCC</name>
+ <value>0xD2</value>
+ </enumerator>
+ <enumerator>
+ <name>REF_CLOCK</name>
+ <value>0xD4</value>
+ </enumerator>
+ <enumerator>
+ <name>PCI_CLOCK</name>
+ <value>0xD5</value>
+ </enumerator>
+ <enumerator>
+ <name>TOD_CLOCK</name>
+ <value>0xD6</value>
+ </enumerator>
+ <enumerator>
+ <name>APSS</name>
+ <value>0xD7</value>
+ </enumerator>
+</enumerationType>
+
+<enumerationType>
+ <id>SENSOR_NAME</id>
+ <description>Enumeration indicating the IPMI sensor name, which will
+ be used by hostboot when determining the sensor number to return.
+ he sensor name consists of one byte of sensor type plus one byte of
+ sub-type, to differentiate similar sensors under the same target.
+ Our implementaion uses the IPMI defined entity ID as the sub-type.
+ </description>
+ <enumerator>
+ <name>PROC_TEMP</name>
+ <value>0x0103</value>
+ </enumerator>
+ <enumerator>
+ <name>DIMM_TEMP</name>
+ <value>0x0120</value>
+ </enumerator>
+ <enumerator>
+ <name>CORE_TEMP</name>
+ <value>0x01D0</value>
+ </enumerator>
+ <enumerator>
+ <name>STATE</name>
+ <value>0x0500</value>
+ </enumerator>
+ <enumerator>
+ <name>MEMBUF_TEMP</name>
+ <value>0x01D1</value>
+ </enumerator>
+ <enumerator>
+ <name>PROC_STATE</name>
+ <value>0x0703</value>
+ </enumerator>
+ <enumerator>
+ <name>CORE_STATE</name>
+ <value>0x07D0</value>
+ </enumerator>
+ <enumerator>
+ <name>DIMM_STATE</name>
+ <value>0x0C20</value>
+ </enumerator>
+ <enumerator>
+ <name>MEMBUF_STATE</name>
+ <value>0x0CD1</value>
+ </enumerator>
+ <enumerator>
+ <name>FW_BOOT_PROGRESS</name>
+ <value>0x0F22</value>
+ </enumerator>
+ <enumerator>
+ <name>SYSTEM_EVENT</name>
+ <value>0x1201</value>
+ </enumerator>
+ <enumerator>
+ <name>OS_BOOT</name>
+ <value>0x1F23</value>
+ </enumerator>
+ <enumerator>
+ <name>HOST_STATUS</name>
+ <value>0x2223</value>
+ </enumerator>
+ <enumerator>
+ <name>OCC_ACTIVE</name>
+ <value>0x07D2</value>
+ </enumerator>
+ <enumerator>
+ <name>CORE_FREQ</name>
+ <value>0xC1D0</value>
+ </enumerator>
+ <enumerator>
+ <name>APSS_CHANNEL</name>
+ <value>0xC2D7</value>
+ </enumerator>
+ <enumerator>
+ <name>PCI_ACTIVE</name>
+ <value>0xC423</value>
+ </enumerator>
+ <enumerator>
+ <name>REBOOT_COUNT</name>
+ <value>0xC322</value>
+ </enumerator>
+ <enumerator>
+ <name>FAULT</name>
+ <value>0xC700</value>
+ </enumerator>
+ <enumerator>
+ <name>BACKPLANE_FAULT</name>
+ <value>0xC707</value>
+ </enumerator>
+ <enumerator>
+ <name>REF_CLOCK_FAULT</name>
+ <value>0xC7D4</value>
+ </enumerator>
+ <enumerator>
+ <name>PCI_CLOCK_FAULT</name>
+ <value>0xC7D5</value>
+ </enumerator>
+ <enumerator>
+ <name>TOD_CLOCK_FAULT</name>
+ <value>0xC7D6</value>
+ </enumerator>
+ <enumerator>
+ <name>APSS_FAULT</name>
+ <value>0xC7D7</value>
+ </enumerator>
+ <enumerator>
+ <name>DERATING_FACTOR</name>
+ <value>0xC815</value>
+ </enumerator>
+</enumerationType>
+
+<enumerationType>
+ <id>SENSOR_TYPE</id>
+ <description>Enumeration indicating the IPMI sensor type, these values
+ are defined in the IPMI specification. These values will be used when
+ sending sensor reading events to the BMC.</description>
+ <enumerator>
+ <name>NA</name>
+ <value>0</value>
+ </enumerator>
+ <enumerator>
+ <name>TEMPERATURE</name>
+ <value>0x01</value>
+ </enumerator>
+ <enumerator>
+ <name>PROCESSOR</name>
+ <value>0x07</value>
+ </enumerator>
+ <enumerator>
+ <name>MEMORY</name>
+ <value>0x0c</value>
+ </enumerator>
+ <enumerator>
+ <name>SYS_FW_PROGRESS</name>
+ <value>0x0F</value>
+ </enumerator>
+ <enumerator>
+ <name>SYS_EVENT</name>
+ <value>0x12</value>
+ </enumerator>
+ <enumerator>
+ <name>OS_BOOT</name>
+ <value>0x1F</value>
+ </enumerator>
+ <enumerator>
+ <name>APCI_POWER_STATE</name>
+ <value>0x22</value>
+ </enumerator>
+ <enumerator>
+ <name>FREQ</name>
+ <value>0xC1</value>
+ </enumerator>
+ <enumerator>
+ <name>POWER</name>
+ <value>0xC2</value>
+ </enumerator>
+ <enumerator>
+ <name>BOOT_COUNT</name>
+ <value>0xC3</value>
+ </enumerator>
+ <enumerator>
+ <name>PCI_LINK_PRES</name>
+ <value>0xC4</value>
+ </enumerator>
+ <enumerator>
+ <name>PWR_LIMIT_ACTIVE</name>
+ <value>0xC4</value>
+ </enumerator>
+ <enumerator>
+ <name>FAULT</name>
+ <value>0xC7</value>
+ </enumerator>
+</enumerationType>
+
+<!-- IPMI Sensor numbers are defined in the IPMI spec as 8 bit values. However
+in the hostboot code they will be defined as a uint16_t to allow us to add
+additonal information. An example relates to error logs returned by the OCC,
+we might want to pass the Entity ID in the upper byte of the sensor ID, this
+would allow hostboot to search only the target type identifed by the Entity
+ID for the sensor number returned with the elog. -->
+
+<!-- attribute to hold 16 pairs of sensor type, sensor number values -->
+<attribute>
+ <id>IPMI_SENSORS</id>
+ <description>Attribute to hold 16 pairs of sensor name, sensor number
+ pairs. A sensor name consists of one byte of general sensor type
+ and one byte of sub-type</description>
+ <simpleType>
+ <uint16_t></uint16_t>
+ <array>16,2</array>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
+<enumerationType>
+ <id>IPMI_SENSOR_ARRAY</id>
+ <description>Enumeration defining the offsets into the
+ IPMI_SENSORS array.</description>
+ <enumerator>
+ <name>NAME_OFFSET</name>
+ <value>0x00</value>
+ </enumerator>
+ <enumerator>
+ <name>NUMBER_OFFSET</name>
+ <value>0x01</value>
+ </enumerator>
+</enumerationType>
+
+<attribute>
+ <id>IPMI_MAX_BUFFER_SIZE</id>
+ <description>max buffer size to use for ipmi messages</description>
+ <simpleType>
+ <uint32_t>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>SERIAL_NUMBER</id>
+ <description>The serial number for a particular FRU target</description>
+ <simpleType>
+ <uint8_t>
+ <default>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</default>
+ </uint8_t>
+ <array>18</array>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_SERIAL_NUMBER</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>PART_NUMBER</id>
+ <description>The part number for a particular FRU target</description>
+ <simpleType>
+ <uint8_t>
+ <default>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</default>
+ </uint8_t>
+ <array>18</array>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hwpfToHbAttrMap>
+ <id>ATTR_PART_NUMBER</id>
+ <macro>DIRECT</macro>
+ </hwpfToHbAttrMap>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_VPP_SLOPE_EFF_CONFIG</id>
+ <description>Units: uV/DRAM
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_VPP_INTERCEPT_EFF_CONFIG</id>
+ <description>Units: mV
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR3_VDDR_SLOPE_EFF_CONFIG</id>
+ <description>Units: 1/Amps
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR3_VDDR_INTERCEPT_EFF_CONFIG</id>
+ <description>Units: mV
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MRW_DDR3_VDDR_MAX_LIMIT_EFF_CONFIG</id>
+ <description>Maximum voltage limit for the dynamic VID DDR3 VDDR
+ voltage setpoint. In mV.
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR4_VDDR_SLOPE_EFF_CONFIG</id>
+ <description>Units: 1/Amps
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MSS_VOLT_DDR4_VDDR_INTERCEPT_EFF_CONFIG</id>
+ <description>Units: mV
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>MRW_DDR4_VDDR_MAX_LIMIT_EFF_CONFIG</id>
+ <description>Maximum voltage limit for the dynamic VID DDR4 VDDR voltage
+ setpoint. In mV.
+ </description>
+ <simpleType>
+ <uint32_t>
+ <default>0</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>SBE_MASTER_INTR_SERVICE_ENABLED</id>
+ <description>
+ Indicator whether the SBE interupt service is anabled.
+ 0=Not Enabled
+ 1=Enabled
+ </description>
+ <simpleType>
+ <uint8_t>
+ </uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+ <hbOnly/>
+</attribute>
+
+<attribute>
+ <id>CLEAR_DIMM_SPD_ENABLE</id>
+ <description>
+ Used to enable clearing of SPD on all present DIMMs. This attribute is
+ set via attribute override.
+ </description>
+ <simpleType>
+ <uint8_t></uint8_t>
+ </simpleType>
+ <persistency>volatile-zeroed</persistency>
+ <readable/>
+ <writeable/>
+</attribute>
+
</attributes>
diff --git a/xml/target_types_mrw.xml b/xml/target_types_mrw.xml
index a292e57..f980dde 100644
--- a/xml/target_types_mrw.xml
+++ b/xml/target_types_mrw.xml
@@ -22,6 +22,11 @@
<default></default>
</attribute>
<attribute>
+ <attribute>
+ <id>BMC_FRU_ID</id>
+ <default></default>
+ </attribute>
+ <attribute>
<id>OPAL_MODEL</id>
<default></default>
</attribute>
@@ -34,10 +39,6 @@
<default></default>
</attribute>
<attribute>
- <id>MSS_INTERLEAVE_ENABLE</id>
- <default></default>
- </attribute>
- <attribute>
<id>MODEL</id>
<default>POWER8</default>
</attribute>
@@ -514,6 +515,10 @@
<attribute>
<id>MODEL</id>
</attribute>
+ <attribute>
+ <id>RESOURCE_IS_CRITICAL</id>
+ <default>0</default>
+ </attribute>
</targetType>
<targetType>
<id>chip</id>
@@ -859,7 +864,11 @@
<attribute>
<id>IBSCOM_PROC_BASE_ADDR</id>
<default>1,0x0003E00000000000,0x40000000000,0x10000000000,0</default>
- </attribute>
+ </attribute>
+ <attribute>
+ <id>MSS_INTERLEAVE_ENABLE</id>
+ <default></default>
+ </attribute>
<attribute>
<id>EEPROM_SBE_BACKUP_INFO</id>
<default>
@@ -1147,7 +1156,11 @@
<attribute>
<id>IBSCOM_PROC_BASE_ADDR</id>
<default>1,0x0003E00000000000,0x40000000000,0x10000000000,0</default>
- </attribute>
+ </attribute>
+ <attribute>
+ <id>MSS_INTERLEAVE_ENABLE</id>
+ <default></default>
+ </attribute>
<attribute>
<id>EEPROM_SBE_BACKUP_INFO</id>
<default>
@@ -1732,6 +1745,10 @@
<attribute>
<id>FRU_ID</id>
</attribute>
+ <attribute>
+ <id>CENTAUR_ECID_FRU_ID</id>
+ <default>0xFF</default>
+ </attribute>
</targetType>
<!-- Centaur L4 -->
OpenPOWER on IntegriCloud