From 7849bdd4dd2c4d912a27f99ef543665d3bf873ce Mon Sep 17 00:00:00 2001 From: Andres Lugo-Reyes Date: Mon, 12 Sep 2016 12:37:44 -0500 Subject: Add call to update SBE image if nest freq changed in istep 7.3 Change-Id: I529056bf1380238f5064f18b39bc09ec97e7a112 RTC: 157659 Depends-on: Idea9e3ae8d08052e960c00c225522bbe8da3ea5e Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29521 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Matt Derksen Reviewed-by: Daniel M. Crowell --- src/build/simics/standalone.simics | 6 +- src/include/usr/initservice/mboxRegs.H | 17 +++++ src/include/usr/isteps/istep06list.H | 1 + src/include/usr/isteps/istep07list.H | 1 + src/include/usr/targeting/common/target.H | 5 +- src/usr/i2c/i2c.H | 2 +- src/usr/isteps/istep06/call_host_voltage_config.C | 17 ++++- src/usr/isteps/istep07/call_mss_freq.C | 65 +++++++++++----- src/usr/runtime/common/hsvc_sysdata.C | 1 + src/usr/sbe/sbe_update.C | 86 ++++++++++++++++++---- src/usr/sbe/sbe_update.H | 2 +- src/usr/targeting/common/genHwsvMrwXml.pl | 26 +++++++ src/usr/targeting/common/target.C | 32 +++++--- .../targeting/common/xmltohb/attribute_types.xml | 1 + .../common/xmltohb/simics_NIMBUS.system.xml | 8 +- src/usr/targeting/common/xmltohb/target_types.xml | 1 + .../targeting/common/xmltohb/vbu_NIMBUS.system.xml | 1 + 17 files changed, 216 insertions(+), 56 deletions(-) (limited to 'src') diff --git a/src/build/simics/standalone.simics b/src/build/simics/standalone.simics index 5196add02..d86ace7bc 100755 --- a/src/build/simics/standalone.simics +++ b/src/build/simics/standalone.simics @@ -43,7 +43,9 @@ try { ################################### echo "Enable the SBE" # Set mailbox scratch registers so that the SBE starts in plck mode -($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003F "20000000_00000000" 64 +# Set Boot Freq valid bit (bit 3) and valid data bit (bit 7) +($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003F "31000000_00000000" 64 ($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003A "00000000_00000000" 64 -($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003B "00000001_00000000" 64 +# Set the Nest PLL Bucket ID to 3 in the 4th byte of Mbox Scratch Reg 4 +($hb_masterproc).proc_chip.invoke parallel_store SCOM 0x5003B "00000003_00000000" 64 ($hb_masterproc).proc_chip.invoke parallel_store FSIMBOX 0x01 "80000000" 32 diff --git a/src/include/usr/initservice/mboxRegs.H b/src/include/usr/initservice/mboxRegs.H index e70e7a147..cb1a60d05 100644 --- a/src/include/usr/initservice/mboxRegs.H +++ b/src/include/usr/initservice/mboxRegs.H @@ -72,6 +72,23 @@ namespace SPLESS } PACKED; }; + // Mailbox Scratch Register 8 + union MboxScratch8_t + { + uint32_t data32; + struct + { + uint32_t validFwFunctionalEqEc :1; //0 + uint32_t validSbeI2cBusSpeed :1; //1 + uint32_t validFwMode :1; //2 + uint32_t validBootFreq :1; //3 + uint32_t validHwpControlFlags :1; //4 + uint32_t validMasterSlaveChipNode :1; //5 + uint32_t validDrtmPayloadAddr :1; //6 + uint32_t validBytes :1; //7 + uint32_t reserved :24; //8:31 + } PACKED; + }; }; }; diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H index 923525911..fa9ca4129 100644 --- a/src/include/usr/isteps/istep06list.H +++ b/src/include/usr/isteps/istep06list.H @@ -233,6 +233,7 @@ const TaskInfo g_istep06[] = { const DepModInfo g_istep06Dependancies = { { DEP_LIB(libistep06.so), + DEP_LIB(libsbe.so), #ifdef CONFIG_IPLTIME_CHECKSTOP_ANALYSIS DEP_LIB(libocc.so), #endif diff --git a/src/include/usr/isteps/istep07list.H b/src/include/usr/isteps/istep07list.H index 821759bcf..ebb91f894 100644 --- a/src/include/usr/isteps/istep07list.H +++ b/src/include/usr/isteps/istep07list.H @@ -151,6 +151,7 @@ const DepModInfo g_istep07Dependancies = { { DEP_LIB(libistep07.so), DEP_LIB(libisteps_mss.so), + DEP_LIB(libsbe.so), NULL } }; diff --git a/src/include/usr/targeting/common/target.H b/src/include/usr/targeting/common/target.H index ae7f64e90..acc2c7e78 100644 --- a/src/include/usr/targeting/common/target.H +++ b/src/include/usr/targeting/common/target.H @@ -687,8 +687,11 @@ const char* Target::getAttrAsString() const * @param[in] i_sys - top level system target to set attributes for * @param[in] i_newNestFreq - the new nest frequency to base all the attributes * off of. + * @param[in] i_i2cBusDiv - The i2c bus divisor */ -void setFrequencyAttributes(Target * i_sys, uint32_t i_newNestFreq); +void setFrequencyAttributes(Target * i_sys, + uint32_t i_newNestFreq, + uint32_t i_i2cBusDiv); // WARNING: The following #include imports any platform specific template diff --git a/src/usr/i2c/i2c.H b/src/usr/i2c/i2c.H index 05f11d551..776b9b834 100755 --- a/src/usr/i2c/i2c.H +++ b/src/usr/i2c/i2c.H @@ -86,7 +86,7 @@ ALWAYS_INLINE inline uint64_t i2cGetNestFreq() TARGETING::Target * sysTarget = NULL; tS.getTopLevelTarget( sysTarget ); - return sysTarget->getAttr(); + return sysTarget->getAttr(); }; static uint64_t g_I2C_NEST_FREQ_MHZ = i2cGetNestFreq(); diff --git a/src/usr/isteps/istep06/call_host_voltage_config.C b/src/usr/isteps/istep06/call_host_voltage_config.C index f2d822594..19b35adde 100644 --- a/src/usr/isteps/istep06/call_host_voltage_config.C +++ b/src/usr/isteps/istep06/call_host_voltage_config.C @@ -40,7 +40,8 @@ #include #include - +//SBE +#include using namespace TARGETING; @@ -70,6 +71,7 @@ void* call_host_voltage_config( void *io_pArgs ) uint32_t l_vddBootVoltage = 0; //ATTR_VDD_BOOT_VOLTAGE uint32_t l_vdnBootVoltage = 0; //ATTR_VDN_BOOT_VOLTAGE uint32_t l_vcsBootVoltage = 0; //ATTR_VCS_BOOT_VOLTAGE + uint32_t l_nestFreq = 0; //ATTR_FREQ_PB_MHZ bool l_firstPass = true; @@ -85,6 +87,18 @@ void* call_host_voltage_config( void *io_pArgs ) // Get the system target targetService().getTopLevelTarget(l_sys); + // Set the Nest frequency to whatever we boot with + l_err = SBE::getBootNestFreq( l_nestFreq ); + + if( l_err ) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "call_host_voltage_config.C::" + "Failed getting the boot nest frequency from the SBE"); + } + + l_sys->setAttr( l_nestFreq ); + // Get the child proc chips getChildAffinityTargets( l_procList, l_sys, @@ -277,7 +291,6 @@ void* call_host_voltage_config( void *io_pArgs ) l_nominalFreq, l_floorFreq, l_ceilingFreq, l_turboFreq, l_ultraTurboFreq ); - // TODO RTC:157890 need interface to look at the SBE and set NEST_FREQ_MHZ and PREV_NEST_FREQ_MHZ to whatever we boot from } while( 0 ); if( l_err ) diff --git a/src/usr/isteps/istep07/call_mss_freq.C b/src/usr/isteps/istep07/call_mss_freq.C index 1fd5438d9..591b871ae 100644 --- a/src/usr/isteps/istep07/call_mss_freq.C +++ b/src/usr/isteps/istep07/call_mss_freq.C @@ -113,7 +113,22 @@ void* call_mss_freq( void *io_pArgs ) } } // End memBuf loop + // Set PB frequency to ASYNC_FREQ_MHZ + TARGETING::Target * l_sys = nullptr; + TARGETING::targetService().getTopLevelTarget( l_sys ); + + uint32_t l_originalNest = l_sys->getAttr(); + uint32_t l_asyncFreq = + l_sys->getAttr(); + l_sys->setAttr(l_asyncFreq); + + // Save MC_SYNC_MODE + TARGETING::Target * l_masterProc = nullptr; + TARGETING::targetService() + .masterProcChipTargetHandle( l_masterProc ); + uint8_t l_prevSyncMode = + l_masterProc->getAttr(); if(l_StepError.getErrorHandle() == NULL) @@ -158,35 +173,49 @@ void* call_mss_freq( void *io_pArgs ) "WARNING skipping p9_mss_freq_system HWP due to error detected in p9_mss_freq HWP. An error should have been committed."); } -/* TODO RTC: 157659 Trigger SBE update if nest frequency changed - // Check to see if the nest frequency changed - TARGETING::targetService().getTopLevelTarget( l_sys ); - l_newNest = l_sys->getAttr(); - l_originalNest = l_sys->getAttr(); - // Trigger sbe update if the nest frequency changed. + // Check MC_SYNC_MODE + uint8_t l_mcSyncMode = l_masterProc->getAttr(); + uint32_t l_newNest = 0; + + // TODO RTC: 161197 Remove logic to set nest based off sync mode + // Set the nest frequency based off mc_sync_mode + if( l_mcSyncMode == 0 ) + { + l_newNest = l_sys->getAttr(); + } + else + { + TARGETING::TargetHandleList l_mcbists; + TARGETING::getAllChiplets(l_mcbists, TARGETING::TYPE_MCBIST); + l_newNest = l_mcbists.at(0)->getAttr(); + } + l_sys->setAttr( l_newNest ); + // TODO RTC: 161596 - Set ATTR_NEST_FREQ_MHZ as well until we know it is not being used anymore + l_sys->setAttr( l_newNest ); - if( l_newNest != l_originalNest ) + //Trigger sbe update if the nest frequency changed. + if( (l_newNest != l_originalNest) || (l_mcSyncMode != l_prevSyncMode) ) { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "The nest frequency or sync mode changed!" + " Original Nest: %d New Nest: %d" + " Original syncMode: %d New syncMode: %d", + l_originalNest, l_newNest, l_prevSyncMode, l_mcSyncMode ); l_err = SBE::updateProcessorSbeSeeproms(); if( l_err ) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_freq.C - Error calling updateProcessorSbeSeeproms"); + + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + + // Commit Error + errlCommit( l_err, HWPF_COMP_ID ); } } -*/ - - // TODO RTC:138226 - // 3c) FW examines current synchronous mode nest freq and will customize the - // SBE and reboot if necessary on the master only - // (slaves get data via mbox scratch registers) - /* FAPI_INVOKE_HWP(l_err, p9_xip_customize, - const fapi2::Target& i_proc_target, - const fapi2::Target& i_system_target, - void* io_image); - */ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_freq exit" ); diff --git a/src/usr/runtime/common/hsvc_sysdata.C b/src/usr/runtime/common/hsvc_sysdata.C index c17a28e2a..73f52b265 100644 --- a/src/usr/runtime/common/hsvc_sysdata.C +++ b/src/usr/runtime/common/hsvc_sysdata.C @@ -118,6 +118,7 @@ HSVC_LOAD_ATTR( ATTR_MEMB_DMI_REFCLOCK_RCVR_TERM ); HSVC_LOAD_ATTR( ATTR_MEM_FILTER_PLL_SOURCE ); HSVC_LOAD_ATTR( ATTR_MNFG_FLAGS ); HSVC_LOAD_ATTR( ATTR_MULTI_SCOM_BUFFER_MAX_SIZE ); +// TODO RTC:161596 - Remove references to deprecated NEST_FREQ_MHZ HSVC_LOAD_ATTR( ATTR_NEST_FREQ_MHZ ); HSVC_LOAD_ATTR( ATTR_PCI_REFCLOCK_RCVR_TERM ); HSVC_LOAD_ATTR( ATTR_PIB_I2C_NEST_PLL ); diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C index d414a6931..ad1895d95 100644 --- a/src/usr/sbe/sbe_update.C +++ b/src/usr/sbe/sbe_update.C @@ -84,7 +84,6 @@ static bool g_mbox_query_done = false; static bool g_mbox_query_result = false; static bool g_istep_mode = false; static bool g_update_both_sides = false; -static uint32_t g_current_nest_freq = 0; using namespace ERRORLOG; using namespace TARGETING; @@ -186,9 +185,6 @@ namespace SBE } } - // Collect ATTR_NEST_FREQ_MHZ for reference later - g_current_nest_freq = sys->getAttr(); - //Make sure procedure constants keep within expected range. assert((FIXED_SEEPROM_WORK_SPACE <= VMM_SBE_UPDATE_SIZE/2), "updateProcessorSbeSeeproms() FIXED_SEEPROM_WORK_SPACE " @@ -2468,6 +2464,8 @@ namespace SBE bool crc_check_dirty = false; bool isSimics_check = false; + TARGETING::Target * l_sys = nullptr; + do{ /**************************************************************/ @@ -2695,8 +2693,9 @@ namespace SBE if ( io_sbeState.update_actions & UPDATE_SBE ) { + TARGETING::targetService().getTopLevelTarget( l_sys ); io_sbeState.new_seeprom_ver.nest_freq_mhz = - g_current_nest_freq; + l_sys->getAttr(); } else { @@ -3340,6 +3339,56 @@ namespace SBE } } +///////////////////////////////////////////////////////////////////// + void setNestFreqAttributes(uint32_t i_nestFreq) + { + + errlHndl_t l_err = nullptr; + uint64_t l_mboxScratchReg4 = 0; + INITSERVICE::SPLESS::MboxScratch4_t l_scratch4; + size_t l_indexSize = sizeof(l_mboxScratchReg4); + uint32_t l_i2cBusDiv = 0; + + // Call targeting function to update NEST_FREQ + TargetService& tS = targetService(); + TARGETING::Target * l_sys = nullptr; + TARGETING::Target * l_masterProc = nullptr; + + (void) tS.getTopLevelTarget( l_sys ); + assert( l_sys, "setNestFreqAttributes() system target is NULL"); + + (void) tS.masterProcChipTargetHandle( l_masterProc ); + assert( l_masterProc, "setNestFreqAttributes() " + "Master Proc target is NULL"); + + // Get the i2c bus divisor + l_err = deviceRead( l_masterProc, + &l_mboxScratchReg4, + l_indexSize, + DEVICE_SCOM_ADDRESS( + INITSERVICE::SPLESS::MBOX_SCRATCH_REG4) ); + + if( l_err ) + { + TRACFCOMP( g_trac_sbe, + "setNestFreqAttributes::" + "Failed to get the bucket index from scom address"); + errlCommit( l_err, SBE_COMP_ID ); + } + + l_scratch4.data32 = static_cast(l_mboxScratchReg4 >> 32); + + // The Nest PLL Bucket ID ranges 1-5. Subtract 1 for zero-based indexing + l_i2cBusDiv = NEST_PLL_FREQ_I2CDIV_LIST[l_scratch4.nestPllBucket-1]; + + TRACFCOMP(g_trac_sbe, "setNestFreqAttributes(): " + "UPDATE_NEST_FREQ to %d ", + i_nestFreq); + + TARGETING::setFrequencyAttributes(l_sys, + i_nestFreq, + l_i2cBusDiv ); + } ///////////////////////////////////////////////////////////////////// errlHndl_t performUpdateActions(sbeTargetState_t& io_sbeState) @@ -4400,11 +4449,17 @@ namespace SBE size_t i_seeprom_num, bool & o_mismatch) { + + TARGETING::Target * l_sys = nullptr; + TARGETING::targetService().getTopLevelTarget( l_sys ); + uint32_t l_current_nest_freq = + l_sys->getAttr(); + TRACUCOMP( g_trac_sbe, ENTER_MRK"checkSeepromNestFreq: tgt=0x%X current_freq=%d, " "default_freq=%d, version=0x%X, i_seeprom_nest_freq=%d, " "seeprom_num=%d", - TARGETING::get_huid(i_tgt), g_current_nest_freq, + TARGETING::get_huid(i_tgt), l_current_nest_freq, i_default_nest_freq, i_struct_version, i_seeprom_nest_freq, i_seeprom_num); @@ -4416,14 +4471,14 @@ namespace SBE { // Only version that tracks the nest freq when the image was // customized - if ( g_current_nest_freq == i_seeprom_nest_freq ) + if ( l_current_nest_freq == i_seeprom_nest_freq ) { TRACUCOMP( g_trac_sbe,"checkSeepromNestFreq: tgt=0x%X: " "Seeprom%d: ver%d found and current " "nest_freq(%d) and image nest_freq(%d) match", TARGETING::get_huid(i_tgt), i_seeprom_num, i_struct_version, - g_current_nest_freq, + l_current_nest_freq, i_seeprom_nest_freq); } else @@ -4434,7 +4489,7 @@ namespace SBE "nest_freq(%d) and image nest_freq(%d) DO NOT match", TARGETING::get_huid(i_tgt), i_seeprom_num, i_struct_version, - g_current_nest_freq, i_seeprom_nest_freq); + l_current_nest_freq, i_seeprom_nest_freq); } } @@ -4442,14 +4497,14 @@ namespace SBE { // Either uninitialized, simics, corrupted, etc // Assume SBE image created with the module's default frequency - if ( g_current_nest_freq == i_default_nest_freq ) + if ( l_current_nest_freq == i_default_nest_freq ) { TRACUCOMP( g_trac_sbe,"checkSeepromNestFreq: tgt=0x%X: " "Seeprom%d: ver=0x%X found and current " "nest_freq(%d) and default nest_freq(%d) match", TARGETING::get_huid(i_tgt), i_seeprom_num, i_struct_version, - g_current_nest_freq, i_default_nest_freq); + l_current_nest_freq, i_default_nest_freq); } else { @@ -4460,7 +4515,7 @@ namespace SBE "DO NOT match. ", TARGETING::get_huid(i_tgt), i_seeprom_num, i_struct_version, - g_current_nest_freq, i_default_nest_freq); + l_current_nest_freq, i_default_nest_freq); } } @@ -4498,6 +4553,7 @@ namespace SBE if( l_err ) { TRACFCOMP(g_trac_sbe, + "getBootNestFreq::" "Failed to get the bucket index from scom address"); errlCommit(l_err, SBE_COMP_ID); break; @@ -4567,9 +4623,9 @@ namespace SBE break; } - TRACFCOMP( g_trac_sbe,"checkNestFreqSettings(): ATTR_NEST_FREQ_MHZ" - "=%d, Boot Frequency=%d", - g_current_nest_freq, default_nest_freq); + TRACFCOMP( g_trac_sbe,"checkNestFreqSettings(): ATTR_FREQ_PB_MHZ" + " Boot Frequency=%d", + default_nest_freq); TRACUCOMP( g_trac_sbe,"checkNestFreqSettings(): " "seeprom0 ver=%d freq=%d seeprom1 ver=%d freq=%d", io_sbeState.seeprom_0_ver.struct_version, diff --git a/src/usr/sbe/sbe_update.H b/src/usr/sbe/sbe_update.H index babfc4be9..56d4bdb33 100644 --- a/src/usr/sbe/sbe_update.H +++ b/src/usr/sbe/sbe_update.H @@ -614,7 +614,7 @@ namespace SBE /** * @brief Checks the Nest Frequency value stored in the the version struct - * and compares it ot the NEST_FREQ_MHZ attribute of the system + * and compares it ot the FREQ_PB_MHZ attribute of the system * * @param[io/out] io_sbeState Struct containing SBE State of the target * and is updated based on the situation diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl index cacb849c4..4809472a8 100755 --- a/src/usr/targeting/common/genHwsvMrwXml.pl +++ b/src/usr/targeting/common/genHwsvMrwXml.pl @@ -371,6 +371,32 @@ else push @systemAttr, ['SUPPORTS_DYNAMIC_MEM_VOLT', 0]; } + +my $nestFreq = $reqPol->{'proc_pb_frequency'}->{content}; + + +if($nestFreq == 1600) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 1]; +} +elsif ($nestFreq == 1866) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 2]; +} +elsif ($nestFreq == 2000) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 3]; +} +elsif ($nestFreq == 2133) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 4]; +} +elsif ($nestFreq == 2400) +{ + push @systemAttr, ['NEST_PLL_BUCKET', 5]; +} + + my %domainProgram = ( MSS_VDD_PROGRAM => $reqPol->{'mss_vdd_program'}, MSS_VCS_PROGRAM => $reqPol->{'mss_vcs_program'}, MSS_AVDD_PROGRAM => $reqPol->{'mss_avdd_program'}, diff --git a/src/usr/targeting/common/target.C b/src/usr/targeting/common/target.C index 5daad8ad4..dc6e0fbbe 100644 --- a/src/usr/targeting/common/target.C +++ b/src/usr/targeting/common/target.C @@ -691,29 +691,23 @@ bool Target::uninstallWriteAttributeCallback() //****************************************************************************** // setFrequencyAttributes //****************************************************************************** -void setFrequencyAttributes(Target * i_sys, uint32_t i_newNestFreq) +void setFrequencyAttributes( Target * i_sys, + uint32_t i_newNestFreq, + uint32_t i_i2cBusDiv ) { - // Calculate the new value for PIB_I2C_NEST_PLL using old freq attributes. uint32_t l_oldPll = i_sys->getAttr(); - uint32_t l_oldNestFreq = i_sys->getAttr(); + uint32_t l_oldNestFreq = i_sys->getAttr(); uint32_t l_newPll = (i_newNestFreq * l_oldPll)/l_oldNestFreq; //NEST_FREQ + //TODO RTC: 161596 - Remove references to deprecated NEST_FREQ_MHZ i_sys->setAttr(i_newNestFreq); TRACFCOMP(g_trac_targeting, "ATTR_NEST_FREQ_MHZ getting set from %d to %d", l_oldNestFreq, i_newNestFreq ); - //FREQ_X_MHZ - uint32_t l_freqX = i_newNestFreq * 2; - i_sys->setAttr(l_freqX); - TRACFCOMP(g_trac_targeting, - "ATTR_FREQ_X_MHZ getting set to from %d to %d", - l_oldNestFreq*2, - l_freqX ); - //FREQ_PB_MHZ uint32_t l_freqPb = i_newNestFreq; i_sys->setAttr(l_freqPb); @@ -729,7 +723,21 @@ void setFrequencyAttributes(Target * i_sys, uint32_t i_newNestFreq) l_oldPll, l_newPll); - return; + // Get the processor targets to set the i2c bus divisor. + TARGETING::TargetHandleList l_procList; + TARGETING::getAllChips( l_procList, + TARGETING::TYPE_PROC, + true ); // true: return functional procs + + TargetHandleList::iterator l_procTarget; + + for( l_procTarget = l_procList.begin(); + l_procTarget != l_procList.end(); + ++l_procTarget ) + { + (*l_procTarget)->setAttr(i_i2cBusDiv); + } + } diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index 209e5c66d..a87ac8c69 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -6434,6 +6434,7 @@ firmware notes: Used as override attribute for pstate procedure NEST_FREQ_MHZ + Nest frequency in MHz diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml index 8358f796d..bb34ad1f2 100644 --- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml @@ -94,12 +94,12 @@ - NEST_FREQ_MHZ - 0x960 + ASYNC_NEST_FREQ_MHZ + 0x7D0 - FREQ_PB_MHZ - 0x7D0 + REQUIRED_SYNCH_MODE + 2 REQUIRED_SYNCH_MODE diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 2c9be0238..145940113 100755 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -608,6 +608,7 @@ FREQ_A_MHZ FREQ_PB_MHZ ASYNC_NEST_FREQ_MHZ + NEST_FREQ_MHZ PREV_NEST_FREQ_MHZ FREQ_PCIE_MHZ diff --git a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml index 71baab7bd..e1fe230ce 100644 --- a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml @@ -93,6 +93,7 @@ reserved0 + NEST_FREQ_MHZ 0x960 -- cgit v1.2.1