From ae2fc47103833e91ec7385e1ca89407f04653111 Mon Sep 17 00:00:00 2001 From: Van Lee Date: Wed, 24 Oct 2012 11:45:07 -0500 Subject: Fix proc_setup_bars fails on large config (4 procs 4 centaurs) Change-Id: I8203c863f26aeb3a0ea20964e4c4bef64802c4e8 RTC: 50426 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2118 Reviewed-by: A. Patrick Williams III Tested-by: Jenkins Server --- src/build/citest/etc/bbuild | 2 +- .../hwp/dram_initialization/dram_initialization.C | 81 ++- src/usr/hwpf/hwp/dram_initialization/makefile | 1 + .../proc_setup_bars/proc_setup_bars.C | 118 ++-- src/usr/hwpf/hwp/fapiTestHwp.C | 2 +- src/usr/hwpf/hwp/initfiles/sample.initfile | 18 +- src/usr/hwpf/plat/fapiPlatAttributeService.C | 17 - src/usr/hwpf/test/hwpftest.H | 22 +- .../common/xmltohb/simics_MURANO.system.xml | 80 +-- src/usr/targeting/xmltohb/TULETA.mrw.xml | 710 ++++++++------------- src/usr/targeting/xmltohb/genHwsvMrwXml.pl | 297 +++------ src/usr/xscom/test/xscomtest.H | 48 +- 12 files changed, 583 insertions(+), 813 deletions(-) (limited to 'src') diff --git a/src/build/citest/etc/bbuild b/src/build/citest/etc/bbuild index 51992b432..4c672d1de 100644 --- a/src/build/citest/etc/bbuild +++ b/src/build/citest/etc/bbuild @@ -1 +1 @@ -/esw/fips810/Builds/b1002a_1241.810 +/esw/fips810/Builds/b1019a_1243.810 diff --git a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C index b2af5d3a9..7f0cc87c0 100644 --- a/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C +++ b/src/usr/hwpf/hwp/dram_initialization/dram_initialization.C @@ -57,6 +57,7 @@ #include #include "dram_initialization.H" +#include // Uncomment these files as they become available: // #include "host_startPRD_dram/host_startPRD_dram.H" @@ -80,6 +81,7 @@ namespace DRAM_INITIALIZATION { using namespace TARGETING; +using namespace EDI_EI_INITIALIZATION; using namespace fapi; @@ -426,59 +428,76 @@ void* call_proc_setup_bars( void *io_pArgs ) // ----------------------------------------------------------------------- std::vector l_proc_chips; - for ( size_t i = 0; i < l_cpuTargetList.size(); i++ ) + TargetPairs_t l_abusLinks; + l_errl = PbusLinkSvc::getTheInstance().getPbusConnections( + l_abusLinks, TYPE_ABUS, false ); + + for ( size_t i = 0; i < l_cpuTargetList.size() && !l_errl; i++ ) { // make a local copy of the target for ease of use const TARGETING::Target* l_pCpuTarget = l_cpuTargetList[i]; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "proc_setup_bars: proc %d", i ); - // dump physical path to targets - EntityPath l_path; - l_path = l_pCpuTarget->getAttr(); - l_path.dump(); - // cast OUR type of target to a FAPI type of target. - const fapi::Target l_fapi_pCpuTarget( - TARGET_TYPE_MEMBUF_CHIP, - reinterpret_cast - (const_cast - (l_pCpuTarget)) ); - // @todo Create dummy aX targets - const fapi::Target l_a0_chip; - const fapi::Target l_a1_chip; - const fapi::Target l_a2_chip; - + const fapi::Target l_fapi_pCpuTarget( TARGET_TYPE_PROC_CHIP, + reinterpret_cast (const_cast + (l_pCpuTarget)) ); proc_setup_bars_proc_chip l_proc_chip ; - l_proc_chip.this_chip = l_fapi_pCpuTarget; - l_proc_chip.a0_chip = l_a0_chip; - l_proc_chip.a1_chip = l_a1_chip; - l_proc_chip.a2_chip = l_a2_chip; - l_proc_chip.process_f0 = true; - l_proc_chip.process_f1 = true; + l_proc_chip.this_chip = l_fapi_pCpuTarget; + l_proc_chip.process_f0 = true; + l_proc_chip.process_f1 = true; + + TARGETING::TargetHandleList l_abuses; + getChildChiplets( l_abuses, l_pCpuTarget, TYPE_ABUS ); + + for (size_t j = 0; j < l_abuses.size(); j++) + { + TARGETING::Target * l_target = l_abuses[j]; + uint8_t l_srcID = l_target->getAttr(); + TargetPairs_t::iterator l_itr = l_abusLinks.find(l_target); + if ( l_itr == l_abusLinks.end() ) + { + continue; + } + + const TARGETING::Target *l_pParent = NULL; + l_pParent = getParentChip( + (const_cast(l_itr->second))); + fapi::Target l_fapiproc_parent( TARGET_TYPE_PROC_CHIP, + (void *)l_pParent ); + + switch (l_srcID) + { + case 0: l_proc_chip.a0_chip = l_fapiproc_parent; break; + case 1: l_proc_chip.a1_chip = l_fapiproc_parent; break; + case 2: l_proc_chip.a2_chip = l_fapiproc_parent; break; + default: break; + } + } l_proc_chips.push_back( l_proc_chip ); + } // endfor + + if (!l_errl) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call proc_setup_bars"); + // call the HWP with each fapi::Target - FAPI_INVOKE_HWP( l_errl, - proc_setup_bars, - l_proc_chips, - true ); + FAPI_INVOKE_HWP( l_errl, proc_setup_bars, l_proc_chips, true ); if ( l_errl ) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : proc_setup_bars" ); - // break out with error - break; } else { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : proc_setup-bars" ); } - } // endfor + } } // end if !l_errl // @@@@@ END CUSTOM BLOCK: @@@@@ diff --git a/src/usr/hwpf/hwp/dram_initialization/makefile b/src/usr/hwpf/hwp/dram_initialization/makefile index 57c44f0e3..3f0918a74 100644 --- a/src/usr/hwpf/hwp/dram_initialization/makefile +++ b/src/usr/hwpf/hwp/dram_initialization/makefile @@ -32,6 +32,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/hwp ## pointer to common HWP files EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include +EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/bus_training ## NOTE: add the base istep dir here. EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_initialization diff --git a/src/usr/hwpf/hwp/dram_initialization/proc_setup_bars/proc_setup_bars.C b/src/usr/hwpf/hwp/dram_initialization/proc_setup_bars/proc_setup_bars.C index 8e3db1748..e3642c1cb 100644 --- a/src/usr/hwpf/hwp/dram_initialization/proc_setup_bars/proc_setup_bars.C +++ b/src/usr/hwpf/hwp/dram_initialization/proc_setup_bars/proc_setup_bars.C @@ -1,27 +1,26 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/dram_initialization/proc_setup_bars/proc_setup_bars.C $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ -// $Id: proc_setup_bars.C,v 1.5 2012/07/23 17:47:05 jmcgill Exp $ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/dram_initialization/proc_setup_bars/proc_setup_bars.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// $Id: proc_setup_bars.C,v 1.7 2012/10/09 15:31:38 jmcgill Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_setup_bars.C,v $ //------------------------------------------------------------------------------ // *| @@ -876,7 +875,7 @@ fapi::ReturnCode proc_setup_bars_nx_get_mmio_bar_attrs( io_addr_range.size); if (!rc.ok()) { - FAPI_ERR("proc_setup_bars_fsp_get_bar_attrs: Error querying ATTR_PROC_NX_MMIO_BAR_SIZE"); + FAPI_ERR("proc_setup_bars_nx_get_mmio_bar_attrs: Error querying ATTR_PROC_NX_MMIO_BAR_SIZE"); break; } @@ -1358,32 +1357,69 @@ fapi::ReturnCode proc_setup_bars_process_chips( // mark function entry FAPI_DBG("proc_setup_bars_process_chips: Start"); - // loop over all chips passed from platform to HWP - std::vector::iterator iter; - for (iter = i_proc_chips.begin(); - iter != i_proc_chips.end(); - iter++) + do { - // process platform provided data in chip argument, - // query chip specific attributes - proc_setup_bars_smp_chip smp_chip; - rc = proc_setup_bars_process_chip(&(*iter), - smp_chip); + // loop over all chips passed from platform to HWP + std::vector::iterator c_iter; + for (c_iter = i_proc_chips.begin(); + c_iter != i_proc_chips.end(); + c_iter++) + { + // process platform provided data in chip argument, + // query chip specific attributes + proc_setup_bars_smp_chip smp_chip; + rc = proc_setup_bars_process_chip(&(*c_iter), + smp_chip); + if (!rc.ok()) + { + FAPI_ERR("proc_setup_bars_process_chips: Error from proc_setup_bars_process_chip"); + break; + } + + // insert chip into SMP data structure given node & chip ID + rc = proc_setup_bars_insert_chip(smp_chip, + io_smp); + if (!rc.ok()) + { + FAPI_ERR("proc_setup_bars_process_chips: Error from proc_setup_bars_insert_chip"); + break; + } + } if (!rc.ok()) { - FAPI_ERR("proc_setup_bars_process_chips: Error from proc_setup_bars_process_chip"); break; } - // insert chip into SMP data structure given node & chip ID - rc = proc_setup_bars_insert_chip(smp_chip, - io_smp); + // perform final power of two adjustment on node specific resources once + // all chips have been processed + std::map::iterator n_iter; + for (n_iter = io_smp.nodes.begin(); + n_iter != io_smp.nodes.end(); + n_iter++) + { + // update node address ranges (non-mirrored & mirrored) + FAPI_DBG("proc_setup_bars_process_chips: Node %d ranges after power of two alignment:", + n_iter->first); + // ensure range is power of 2 aligned + if (n_iter->second.non_mirrored_range.enabled && + !n_iter->second.non_mirrored_range.is_power_of_2()) + { + n_iter->second.non_mirrored_range.round_next_power_of_2(); + } + n_iter->second.non_mirrored_range.print(); + + if (n_iter->second.mirrored_range.enabled && + !n_iter->second.mirrored_range.is_power_of_2()) + { + n_iter->second.mirrored_range.round_next_power_of_2(); + } + n_iter->second.mirrored_range.print(); + } if (!rc.ok()) { - FAPI_ERR("proc_setup_bars_process_chips: Error from proc_setup_bars_insert_chip"); break; } - } + } while(0); // mark function exit FAPI_DBG("proc_setup_bars_process_chips: End"); diff --git a/src/usr/hwpf/hwp/fapiTestHwp.C b/src/usr/hwpf/hwp/fapiTestHwp.C index d7a0b273c..2d299b19b 100644 --- a/src/usr/hwpf/hwp/fapiTestHwp.C +++ b/src/usr/hwpf/hwp/fapiTestHwp.C @@ -73,7 +73,7 @@ fapi::ReturnCode hwpInitialTest(const std::vector & i_target) do { // Use this SCOM register for testing - const uint64_t l_addr = 0x13010002; + const uint64_t l_addr = 0x14010002; ecmdDataBufferBase l_ScomData(64); uint64_t l_originalScomData = 0; diff --git a/src/usr/hwpf/hwp/initfiles/sample.initfile b/src/usr/hwpf/hwp/initfiles/sample.initfile index 8bf99a087..32ffc7d08 100755 --- a/src/usr/hwpf/hwp/initfiles/sample.initfile +++ b/src/usr/hwpf/hwp/initfiles/sample.initfile @@ -67,7 +67,7 @@ define MBA1 = TGT2; #--****************************************************************************** #-- Basic SCOM #--****************************************************************************** -scom 0x0000000013010002 { +scom 0x0000000014010002 { scom_data ; 0xAABBC00000000000 ; } @@ -76,7 +76,7 @@ scom 0x0000000013010002 { #-- Basic SCOM with Expression and Attribute #--****************************************************************************** -scom 0x0000000013030007 { +scom 0x0000000014030007 { scom_data, expr ; 0x00000CDE00000000, SYS.ATTR_SCRATCH_UINT8_1 == SYS.ATTR_SCRATCH_UINT8_2 ; } @@ -139,7 +139,7 @@ scom 0x000000000006800c { #--****************************************************************************** #-- Basic SCOM with bits #--****************************************************************************** -scom 0x0000000013013283 { +scom 0x0000000014013283 { bits , scom_data ; 0:11 , 0b001111001001 ; 12 , 0b1 ; @@ -152,7 +152,7 @@ scom 0x0000000013013283 { #-- Complext SCOM with Bit Support, define, and attributes #--****************************************************************************** -scom 0x0000000013013284 { +scom 0x0000000014013284 { bits , scom_data, expr ; 0:11 , 0b001111001001, ANY ; 12 , 0b1, def_equal_test ; @@ -165,7 +165,7 @@ scom 0x0000000013013284 { #-- Complex SCOM with Bit Support, and logical operators #--****************************************************************************** -scom 0x0000000013013285 { +scom 0x0000000014013285 { bits , scom_data, expr ; 12 , 0b1, def_equal_test && def_not_equal_test ; 12 , 0b0, def_equal_test || def_not_equal_test ; @@ -183,7 +183,7 @@ scom 0x0000000013013285 { #-- SCOM with 'ec' column - Use scratch for now since all attributes work #--****************************************************************************** -scom 0x0000000013013286 { +scom 0x0000000014013286 { scom_data, SYS.ATTR_SCRATCH_UINT32_1, SYS.ATTR_SCRATCH_UINT32_2 ; 0x0000000000000192, != 0, >= ENUM_ATTR_SCRATCH_UINT64_ARRAY_2_VAL_B ; } @@ -191,7 +191,7 @@ scom 0x0000000013013286 { #--****************************************************************************** #-- Basic SCOM with an array #--****************************************************************************** -scom 0x0000000013013287 { +scom 0x0000000014013287 { scom_data, expr ; 0x0000000000000182, SYS.ATTR_SCRATCH_UINT8_ARRAY_1[2] == SYS.ATTR_SCRATCH_UINT8_1 ; } @@ -199,7 +199,7 @@ scom 0x0000000013013287 { #--****************************************************************************** #-- SCOM with 'ec' & expr column - Use scratch for now since all attributes work #--****************************************************************************** -scom 0x0000000013013288 { +scom 0x0000000014013288 { scom_data, SYS.ATTR_SCRATCH_UINT32_1, expr; 0x0000000000000192, 3, SYS.ATTR_SCRATCH_UINT8_ARRAY_2[1][2][3] == 0x00000000000000BE; } @@ -207,7 +207,7 @@ scom 0x0000000013013288 { #--****************************************************************************** #-- Complex SCOM with Bit Support, associated attributes and logical operators #--****************************************************************************** -scom 0x0000000013013289 { +scom 0x0000000014013289 { bits, scom_data, MBA1.ATTR_CHIP_UNIT_POS, expr; 23, 0b0, 1, MBA0.ATTR_CHIP_UNIT_POS == 1; 23, MBA1.ATTR_CHIP_UNIT_POS, 1, MBA0.ATTR_CHIP_UNIT_POS == 0; diff --git a/src/usr/hwpf/plat/fapiPlatAttributeService.C b/src/usr/hwpf/plat/fapiPlatAttributeService.C index c0c9aa296..22e325ce6 100644 --- a/src/usr/hwpf/plat/fapiPlatAttributeService.C +++ b/src/usr/hwpf/plat/fapiPlatAttributeService.C @@ -1472,23 +1472,6 @@ fapi::ReturnCode fapiPlatGetProcPcieBarSize ( break; } - // Just support proc 0 , 1 for now. - if ( l_procNum > 1 ) - { - /*@ - * @errortype - * @moduleid MOD_ATTR_PROC_PCIE_BAR_SIZE_GET - * @reasoncode RC_ATTR_UNSUPPORTED_PROC_NUM - * @devdesc Null FAPI Target passed to ATTR_GET - */ - errlHndl_t l_pError = new ERRORLOG::ErrlEntry( - ERRORLOG::ERRL_SEV_INFORMATIONAL, - fapi::MOD_ATTR_PROC_PCIE_BAR_SIZE_GET, - fapi::RC_ATTR_UNSUPPORTED_PROC_NUM ); - l_fapirc.setPlatError(reinterpret_cast (l_pError)); - break; - } - // NOTE: supported BAR0/1 sizes are from 64KB-1PB // NOTE: BAR1 is disabled, set to 0 // NOTE: only supported BAR2 size is 4KB diff --git a/src/usr/hwpf/test/hwpftest.H b/src/usr/hwpf/test/hwpftest.H index 88c25039f..07d00044d 100644 --- a/src/usr/hwpf/test/hwpftest.H +++ b/src/usr/hwpf/test/hwpftest.H @@ -297,22 +297,22 @@ public: {0x000000000006800c, 0, (0x8000000000000000 >> 0x17) | (0x0000000000000060ll << (64 - (24 + 8))) | 0x0000000000003000}, - {0x0000000013010002, 0, 0xAABBC00000000000}, - {0x0000000013030007, 0, 0x00000CDE00000000}, - {0x0000000013013283, 0, 0x3c90000000000000 | + {0x0000000014010002, 0, 0xAABBC00000000000}, + {0x0000000014030007, 0, 0x00000CDE00000000}, + {0x0000000014013283, 0, 0x3c90000000000000 | (0x8000000000000000 >> 0x0c) | (0x8000000000000000 >> 0x0d) | (0x0306400412000000 >> 0x0e) | 0x000000000000000D}, - {0x0000000013013284, 0, 0x3c90000000000000}, - {0x0000000013013285, 0, (0x8000000000000000 >> 0x0f) | + {0x0000000014013284, 0, 0x3c90000000000000}, + {0x0000000014013285, 0, (0x8000000000000000 >> 0x0f) | (0x8000000000000000 >> 0x10) | (0x8000000000000000 >> 0x13) | (0x0306400412000000 >> 0x15) }, - {0x0000000013013286, 0, 0x0000000000000192}, - {0x0000000013013287, 0, 0x0000000000000182}, - {0x0000000013013288, 0, 0x0000000000000192}, - {0x0000000013013289, 0, (0x8000000000000000 >> 0x17) | + {0x0000000014013286, 0, 0x0000000000000192}, + {0x0000000014013287, 0, 0x0000000000000182}, + {0x0000000014013288, 0, 0x0000000000000192}, + {0x0000000014013289, 0, (0x8000000000000000 >> 0x17) | (0x4000000000000000 >> 0x18)} }; @@ -643,8 +643,8 @@ public: {0x000000000006002c, 0x0000000000000183}, {0x000000000006800b, 0}, {0x000000000006800c, 0x8000000000000000 >> 0x17}, - {0x0000000013010002, 0xAABBC00000000000}, - {0x0000000013030007, 0x00000CDE00000000}, + {0x0000000014010002, 0xAABBC00000000000}, + {0x0000000014030007, 0x00000CDE00000000}, }; // Get the master processor chip diff --git a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml index 8263850bb..01ca06bde 100644 --- a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml @@ -237,7 +237,7 @@ sys0node0proc0ex4 unit-ex-murano HUID0x000A0004 - + PHYS_PATH physical:sys-0/node-0/proc-0/ex-4 @@ -255,7 +255,7 @@ sys0node0proc0ex5 unit-ex-murano HUID0x000A0005 - + PHYS_PATH physical:sys-0/node-0/proc-0/ex-5 @@ -273,7 +273,7 @@ sys0node0proc0ex6 unit-ex-murano HUID0x000A0006 - + PHYS_PATH physical:sys-0/node-0/proc-0/ex-6 @@ -291,7 +291,7 @@ sys0node0proc0ex12 unit-ex-murano HUID0x000A000C - + PHYS_PATH physical:sys-0/node-0/proc-0/ex-12 @@ -309,7 +309,7 @@ sys0node0proc0ex13 unit-ex-murano HUID0x000A000D - + PHYS_PATH physical:sys-0/node-0/proc-0/ex-13 @@ -587,7 +587,7 @@ sys0node0proc0abus0 unit-abus-murano HUID0x00160000 - + PHYS_PATH physical:sys-0/node-0/proc-0/abus-0 @@ -598,14 +598,14 @@ CHIP_UNIT 0 - + sys0node0proc0abus1 unit-abus-murano HUID0x00160001 - + PHYS_PATH physical:sys-0/node-0/proc-0/abus-1 @@ -616,7 +616,7 @@ CHIP_UNIT 1 - + PEER_TARGET physical:sys-0/node-0/proc-2/abus-1 @@ -627,14 +627,14 @@ sys0node0proc0abus2 unit-abus-murano HUID0x00160002 - + PHYS_PATH physical:sys-0/node-0/proc-0/abus-2 AFFINITY_PATH affinity:sys-0/node-0/proc-0/abus-2 - + CHIP_UNIT 2 @@ -651,7 +651,7 @@ sys0node0proc0xbus1 unit-xbus-murano HUID0x00150001 - + PHYS_PATH physical:sys-0/node-0/proc-0/xbus-1 @@ -724,7 +724,7 @@ VPD_REC_NUM1 FSP_BASE_ADDR - 0x0003FFF000000000 + 0x0003FFE100000000 PSI_BRIDGE_BASE_ADDR 0x0003FFFE80100000 @@ -761,7 +761,7 @@ sys0node0proc1ex4 unit-ex-murano HUID0x000A0014 - + PHYS_PATH physical:sys-0/node-0/proc-1/ex-4 @@ -779,7 +779,7 @@ sys0node0proc1ex5 unit-ex-murano HUID0x000A0015 - + PHYS_PATH physical:sys-0/node-0/proc-1/ex-5 @@ -797,7 +797,7 @@ sys0node0proc1ex6 unit-ex-murano HUID0x000A0016 - + PHYS_PATH physical:sys-0/node-0/proc-1/ex-6 @@ -815,7 +815,7 @@ sys0node0proc1ex12 unit-ex-murano HUID0x000A001C - + PHYS_PATH physical:sys-0/node-0/proc-1/ex-12 @@ -833,7 +833,7 @@ sys0node0proc1ex13 unit-ex-murano HUID0x000A001D - + PHYS_PATH physical:sys-0/node-0/proc-1/ex-13 @@ -1112,7 +1112,7 @@ sys0node0proc1abus0 unit-abus-murano HUID0x00160003 - + PHYS_PATH physical:sys-0/node-0/proc-1/abus-0 @@ -1130,14 +1130,14 @@ sys0node0proc1abus1 unit-abus-murano HUID0x00160004 - + PHYS_PATH physical:sys-0/node-0/proc-1/abus-1 AFFINITY_PATH affinity:sys-0/node-0/proc-1/abus-1 - + CHIP_UNIT 1 @@ -1152,7 +1152,7 @@ sys0node0proc1abus2 unit-abus-murano HUID0x00160005 - + PHYS_PATH physical:sys-0/node-0/proc-1/abus-2 @@ -1176,7 +1176,7 @@ sys0node0proc1xbus1 unit-xbus-murano HUID0x00150005 - + PHYS_PATH physical:sys-0/node-0/proc-1/xbus-1 @@ -1241,15 +1241,15 @@ FABRIC_NODE_ID - 0 + 1 FABRIC_CHIP_ID - 2 + 0 VPD_REC_NUM2 FSP_BASE_ADDR - 0x0004000000000000 + 0x0003FFE200000000 PSI_BRIDGE_BASE_ADDR 0x0003FFFE80200000 @@ -1638,7 +1638,7 @@ sys0node0proc2abus0 unit-abus-murano HUID0x00160006 - + PHYS_PATH physical:sys-0/node-0/proc-2/abus-0 @@ -1656,14 +1656,14 @@ sys0node0proc2abus1 unit-abus-murano HUID0x00160007 - + PHYS_PATH physical:sys-0/node-0/proc-2/abus-1 AFFINITY_PATH affinity:sys-0/node-0/proc-2/abus-1 - + CHIP_UNIT 1 @@ -1678,7 +1678,7 @@ sys0node0proc2abus2 unit-abus-murano HUID0x00160008 - + PHYS_PATH physical:sys-0/node-0/proc-2/abus-2 @@ -1702,14 +1702,14 @@ sys0node0proc2xbus1 unit-xbus-murano HUID0x00150009 - + PHYS_PATH physical:sys-0/node-0/proc-2/xbus-1 AFFINITY_PATH affinity:sys-0/node-0/proc-2/xbus-1 - + CHIP_UNIT 1 @@ -1767,15 +1767,15 @@ FABRIC_NODE_ID - 0 + 1 FABRIC_CHIP_ID - 3 + 1 VPD_REC_NUM3 FSP_BASE_ADDR - 0x0004001000000000 + 0x0003FFE300000000 PSI_BRIDGE_BASE_ADDR 0x0003FFFE80300000 @@ -2163,14 +2163,14 @@ sys0node0proc3abus0 unit-abus-murano HUID0x00160009 - + PHYS_PATH physical:sys-0/node-0/proc-3/abus-0 AFFINITY_PATH affinity:sys-0/node-0/proc-3/abus-0 - + CHIP_UNIT 0 @@ -2181,7 +2181,7 @@ sys0node0proc3abus1 unit-abus-murano HUID0x0016000A - + PHYS_PATH physical:sys-0/node-0/proc-3/abus-1 @@ -2203,7 +2203,7 @@ sys0node0proc3abus2 unit-abus-murano HUID0x0016000B - + PHYS_PATH physical:sys-0/node-0/proc-3/abus-2 @@ -2227,7 +2227,7 @@ sys0node0proc3xbus1 unit-xbus-murano HUID0x0015000D - + PHYS_PATH physical:sys-0/node-0/proc-3/xbus-1 diff --git a/src/usr/targeting/xmltohb/TULETA.mrw.xml b/src/usr/targeting/xmltohb/TULETA.mrw.xml index ac10b9c28..0adf80f78 100644 --- a/src/usr/targeting/xmltohb/TULETA.mrw.xml +++ b/src/usr/targeting/xmltohb/TULETA.mrw.xml @@ -20,7 +20,7 @@ - + @@ -60,9 +60,43 @@ FREQ_MEM_REFCLOCK 266 + + + FREQ_CORE_FLOOR - 2500 + 0x2580 + + + FREQ_PB + 0x960 + + + FREQ_X + 0x12C0 + + + FREQ_A + 0x1900 + + + FREQ_PCIE + 0x3E8 + + + + + + PROC_EPS_GB_DIRECTION + 0 + + + PROC_EPS_GB_PERCENTAGE + 0x14 + + + PROC_FABRIC_ASYNC_SAFE_MODE + 0 SP_FUNCTIONS @@ -89,11 +123,11 @@ MSS_MBA_ADDR_INTERLEAVE_BIT 24 - + MSS_MBA_CACHELINE_INTERLEAVE_MODE 1 - + MSS_PREFETCH_ENABLE 1 @@ -648,28 +682,6 @@ - - sys0node0proc0xbus0 - unit-xbus-murano - HUID0x00150000 - - PHYS_PATH - physical:sys-0/node-0/proc-0/xbus-0 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-0/xbus-0 - - - CHIP_UNIT - 0 - - - PEER_TARGET - physical:sys-0/node-0/proc-1/xbus-0 - - - sys0node0proc0xbus1 unit-xbus-murano @@ -686,41 +698,9 @@ CHIP_UNIT 1 - - - - sys0node0proc0xbus2 - unit-xbus-murano - HUID0x00150002 - - PHYS_PATH - physical:sys-0/node-0/proc-0/xbus-2 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-0/xbus-2 - - - CHIP_UNIT - 2 - - - - - sys0node0proc0xbus3 - unit-xbus-murano - HUID0x00150003 - - PHYS_PATH - physical:sys-0/node-0/proc-0/xbus-3 - - AFFINITY_PATH - affinity:sys-0/node-0/proc-0/xbus-3 - - - CHIP_UNIT - 3 + PEER_TARGET + physical:sys-0/node-0/proc-1/xbus-1 @@ -747,6 +727,15 @@ AFFINITY_PATH affinity:sys-0/node-0/proc-1 + + FABRIC_NODE_ID + 0 + + + FABRIC_CHIP_ID + 1 + + VPD_REC_NUM1 FSI_MASTER_CHIP @@ -768,17 +757,9 @@ FSI_OPTION_FLAGS 0 - - FABRIC_NODE_ID - 0 - - - FABRIC_CHIP_ID - 1 - - VPD_REC_NUM1 + FSP_BASE_ADDR - 0x0003FFF000000000 + 0x0003FFE100000000 PSI_BRIDGE_BASE_ADDR 0x0003FFFE80100000 @@ -807,6 +788,7 @@ RNG_BASE_ADDR 0x0003FFFF40001000 + @@ -1270,28 +1252,6 @@ - - sys0node0proc1xbus0 - unit-xbus-murano - HUID0x00150004 - - PHYS_PATH - physical:sys-0/node-0/proc-1/xbus-0 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-1/xbus-0 - - - CHIP_UNIT - 0 - - - PEER_TARGET - physical:sys-0/node-0/proc-0/xbus-0 - - - sys0node0proc1xbus1 unit-xbus-murano @@ -1308,41 +1268,9 @@ CHIP_UNIT 1 - - - - sys0node0proc1xbus2 - unit-xbus-murano - HUID0x00150006 - - PHYS_PATH - physical:sys-0/node-0/proc-1/xbus-2 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-1/xbus-2 - - - CHIP_UNIT - 2 - - - - - sys0node0proc1xbus3 - unit-xbus-murano - HUID0x00150007 - - PHYS_PATH - physical:sys-0/node-0/proc-1/xbus-3 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-1/xbus-3 - - CHIP_UNIT - 3 + PEER_TARGET + physical:sys-0/node-0/proc-0/xbus-1 @@ -1369,6 +1297,15 @@ AFFINITY_PATH affinity:sys-0/node-0/proc-2 + + FABRIC_NODE_ID + 1 + + + FABRIC_CHIP_ID + 0 + + VPD_REC_NUM2 FSI_MASTER_CHIP @@ -1390,17 +1327,9 @@ FSI_OPTION_FLAGS 0 - - FABRIC_NODE_ID - 0 - - - FABRIC_CHIP_ID - 2 - - VPD_REC_NUM2 + FSP_BASE_ADDR - 0x0004000000000000 + 0x0003FFE200000000 PSI_BRIDGE_BASE_ADDR 0x0003FFFE80200000 @@ -1429,6 +1358,7 @@ RNG_BASE_ADDR 0x0003FFFF40002000 + @@ -1892,28 +1822,6 @@ - - sys0node0proc2xbus0 - unit-xbus-murano - HUID0x00150008 - - PHYS_PATH - physical:sys-0/node-0/proc-2/xbus-0 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-2/xbus-0 - - - CHIP_UNIT - 0 - - - PEER_TARGET - physical:sys-0/node-0/proc-3/xbus-0 - - - sys0node0proc2xbus1 unit-xbus-murano @@ -1930,41 +1838,9 @@ CHIP_UNIT 1 - - - - sys0node0proc2xbus2 - unit-xbus-murano - HUID0x0015000A - - PHYS_PATH - physical:sys-0/node-0/proc-2/xbus-2 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-2/xbus-2 - - - CHIP_UNIT - 2 - - - - - sys0node0proc2xbus3 - unit-xbus-murano - HUID0x0015000B - - PHYS_PATH - physical:sys-0/node-0/proc-2/xbus-3 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-2/xbus-3 - - CHIP_UNIT - 3 + PEER_TARGET + physical:sys-0/node-0/proc-3/xbus-1 @@ -1991,6 +1867,15 @@ AFFINITY_PATH affinity:sys-0/node-0/proc-3 + + FABRIC_NODE_ID + 1 + + + FABRIC_CHIP_ID + 1 + + VPD_REC_NUM3 FSI_MASTER_CHIP @@ -2012,17 +1897,9 @@ FSI_OPTION_FLAGS 0 - - FABRIC_NODE_ID - 0 - - - FABRIC_CHIP_ID - 3 - - VPD_REC_NUM3 + FSP_BASE_ADDR - 0x0004001000000000 + 0x0003FFE300000000 PSI_BRIDGE_BASE_ADDR 0x0003FFFE80300000 @@ -2051,6 +1928,7 @@ RNG_BASE_ADDR 0x0003FFFF40003000 + @@ -2515,116 +2393,62 @@ - sys0node0proc3xbus0 + sys0node0proc3xbus1 unit-xbus-murano - HUID0x0015000C + HUID0x0015000D PHYS_PATH - physical:sys-0/node-0/proc-3/xbus-0 + physical:sys-0/node-0/proc-3/xbus-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/xbus-0 + affinity:sys-0/node-0/proc-3/xbus-1 CHIP_UNIT - 0 + 1 PEER_TARGET - physical:sys-0/node-0/proc-2/xbus-0 + physical:sys-0/node-0/proc-2/xbus-1 + + - sys0node0proc3xbus1 - unit-xbus-murano - HUID0x0015000D + sys0node0membuf4 + chip-membuf-centaur + HUID0x00060004 + POSITION4 PHYS_PATH - physical:sys-0/node-0/proc-3/xbus-1 + physical:sys-0/node-0/membuf-4 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/xbus-1 + affinity:sys-0/node-0/proc-0/mcs-4/membuf-4 + + + - AFFINITY_PATH - affinity:sys-0/node-0/proc-3/xbus-2 + FSI_MASTER_CHIP + physical:sys-0/node-0/proc-0 - CHIP_UNIT - 2 - - - - - sys0node0proc3xbus3 - unit-xbus-murano - HUID0x0015000F - - PHYS_PATH - physical:sys-0/node-0/proc-3/xbus-3 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-3/xbus-3 - - - CHIP_UNIT - 3 - - - - - - - sys0node0membuf4 - chip-membuf-centaur - HUID0x00060004 - POSITION4 - - PHYS_PATH - physical:sys-0/node-0/membuf-4 - - - AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-4/membuf-4 - - - - - - FSI_MASTER_CHIP - physical:sys-0/node-0/proc-0 - - - FSI_MASTER_TYPE - CMFSI + FSI_MASTER_TYPE + CMFSI FSI_MASTER_PORT @@ -2659,38 +2483,38 @@ - sys0node0membuf4mbs0mba1 + sys0node0membuf4mbs0mba0 unit-mba-centaur - HUID0x00110009 + HUID0x00110008 PHYS_PATH - physical:sys-0/node-0/membuf-4/mbs-0/mba-1 + physical:sys-0/node-0/membuf-4/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-4/membuf-4/mbs-0/mba-1 + affinity:sys-0/node-0/proc-0/mcs-4/membuf-4/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf4mbs0mba0 + sys0node0membuf4mbs0mba1 unit-mba-centaur - HUID0x00110008 + HUID0x00110009 PHYS_PATH - physical:sys-0/node-0/membuf-4/mbs-0/mba-0 + physical:sys-0/node-0/membuf-4/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-4/membuf-4/mbs-0/mba-0 + affinity:sys-0/node-0/proc-0/mcs-4/membuf-4/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -2765,38 +2589,38 @@ - sys0node0membuf5mbs0mba1 + sys0node0membuf5mbs0mba0 unit-mba-centaur - HUID0x0011000B + HUID0x0011000A PHYS_PATH - physical:sys-0/node-0/membuf-5/mbs-0/mba-1 + physical:sys-0/node-0/membuf-5/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-5/membuf-5/mbs-0/mba-1 + affinity:sys-0/node-0/proc-0/mcs-5/membuf-5/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf5mbs0mba0 + sys0node0membuf5mbs0mba1 unit-mba-centaur - HUID0x0011000A + HUID0x0011000B PHYS_PATH - physical:sys-0/node-0/membuf-5/mbs-0/mba-0 + physical:sys-0/node-0/membuf-5/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-5/membuf-5/mbs-0/mba-0 + affinity:sys-0/node-0/proc-0/mcs-5/membuf-5/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -2871,38 +2695,38 @@ - sys0node0membuf6mbs0mba1 + sys0node0membuf6mbs0mba0 unit-mba-centaur - HUID0x0011000D + HUID0x0011000C PHYS_PATH - physical:sys-0/node-0/membuf-6/mbs-0/mba-1 + physical:sys-0/node-0/membuf-6/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-6/membuf-6/mbs-0/mba-1 + affinity:sys-0/node-0/proc-0/mcs-6/membuf-6/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf6mbs0mba0 + sys0node0membuf6mbs0mba1 unit-mba-centaur - HUID0x0011000C + HUID0x0011000D PHYS_PATH - physical:sys-0/node-0/membuf-6/mbs-0/mba-0 + physical:sys-0/node-0/membuf-6/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-6/membuf-6/mbs-0/mba-0 + affinity:sys-0/node-0/proc-0/mcs-6/membuf-6/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -2977,38 +2801,38 @@ - sys0node0membuf7mbs0mba1 + sys0node0membuf7mbs0mba0 unit-mba-centaur - HUID0x0011000F + HUID0x0011000E PHYS_PATH - physical:sys-0/node-0/membuf-7/mbs-0/mba-1 + physical:sys-0/node-0/membuf-7/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-7/membuf-7/mbs-0/mba-1 + affinity:sys-0/node-0/proc-0/mcs-7/membuf-7/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf7mbs0mba0 + sys0node0membuf7mbs0mba1 unit-mba-centaur - HUID0x0011000E + HUID0x0011000F PHYS_PATH - physical:sys-0/node-0/membuf-7/mbs-0/mba-0 + physical:sys-0/node-0/membuf-7/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-0/mcs-7/membuf-7/mbs-0/mba-0 + affinity:sys-0/node-0/proc-0/mcs-7/membuf-7/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3083,38 +2907,38 @@ - sys0node0membuf12mbs0mba1 + sys0node0membuf12mbs0mba0 unit-mba-centaur - HUID0x00110019 + HUID0x00110018 PHYS_PATH - physical:sys-0/node-0/membuf-12/mbs-0/mba-1 + physical:sys-0/node-0/membuf-12/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-4/membuf-12/mbs-0/mba-1 + affinity:sys-0/node-0/proc-1/mcs-4/membuf-12/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf12mbs0mba0 + sys0node0membuf12mbs0mba1 unit-mba-centaur - HUID0x00110018 + HUID0x00110019 PHYS_PATH - physical:sys-0/node-0/membuf-12/mbs-0/mba-0 + physical:sys-0/node-0/membuf-12/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-4/membuf-12/mbs-0/mba-0 + affinity:sys-0/node-0/proc-1/mcs-4/membuf-12/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3189,38 +3013,38 @@ - sys0node0membuf13mbs0mba1 + sys0node0membuf13mbs0mba0 unit-mba-centaur - HUID0x0011001B + HUID0x0011001A PHYS_PATH - physical:sys-0/node-0/membuf-13/mbs-0/mba-1 + physical:sys-0/node-0/membuf-13/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-5/membuf-13/mbs-0/mba-1 + affinity:sys-0/node-0/proc-1/mcs-5/membuf-13/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf13mbs0mba0 + sys0node0membuf13mbs0mba1 unit-mba-centaur - HUID0x0011001A + HUID0x0011001B PHYS_PATH - physical:sys-0/node-0/membuf-13/mbs-0/mba-0 + physical:sys-0/node-0/membuf-13/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-5/membuf-13/mbs-0/mba-0 + affinity:sys-0/node-0/proc-1/mcs-5/membuf-13/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3295,38 +3119,38 @@ - sys0node0membuf14mbs0mba1 + sys0node0membuf14mbs0mba0 unit-mba-centaur - HUID0x0011001D + HUID0x0011001C PHYS_PATH - physical:sys-0/node-0/membuf-14/mbs-0/mba-1 + physical:sys-0/node-0/membuf-14/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-6/membuf-14/mbs-0/mba-1 + affinity:sys-0/node-0/proc-1/mcs-6/membuf-14/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf14mbs0mba0 + sys0node0membuf14mbs0mba1 unit-mba-centaur - HUID0x0011001C + HUID0x0011001D PHYS_PATH - physical:sys-0/node-0/membuf-14/mbs-0/mba-0 + physical:sys-0/node-0/membuf-14/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-6/membuf-14/mbs-0/mba-0 + affinity:sys-0/node-0/proc-1/mcs-6/membuf-14/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3401,38 +3225,38 @@ - sys0node0membuf15mbs0mba1 + sys0node0membuf15mbs0mba0 unit-mba-centaur - HUID0x0011001F + HUID0x0011001E PHYS_PATH - physical:sys-0/node-0/membuf-15/mbs-0/mba-1 + physical:sys-0/node-0/membuf-15/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-7/membuf-15/mbs-0/mba-1 + affinity:sys-0/node-0/proc-1/mcs-7/membuf-15/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf15mbs0mba0 + sys0node0membuf15mbs0mba1 unit-mba-centaur - HUID0x0011001E + HUID0x0011001F PHYS_PATH - physical:sys-0/node-0/membuf-15/mbs-0/mba-0 + physical:sys-0/node-0/membuf-15/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-1/mcs-7/membuf-15/mbs-0/mba-0 + affinity:sys-0/node-0/proc-1/mcs-7/membuf-15/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3507,38 +3331,38 @@ - sys0node0membuf20mbs0mba1 + sys0node0membuf20mbs0mba0 unit-mba-centaur - HUID0x00110029 + HUID0x00110028 PHYS_PATH - physical:sys-0/node-0/membuf-20/mbs-0/mba-1 + physical:sys-0/node-0/membuf-20/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-4/membuf-20/mbs-0/mba-1 + affinity:sys-0/node-0/proc-2/mcs-4/membuf-20/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf20mbs0mba0 + sys0node0membuf20mbs0mba1 unit-mba-centaur - HUID0x00110028 + HUID0x00110029 PHYS_PATH - physical:sys-0/node-0/membuf-20/mbs-0/mba-0 + physical:sys-0/node-0/membuf-20/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-4/membuf-20/mbs-0/mba-0 + affinity:sys-0/node-0/proc-2/mcs-4/membuf-20/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3613,38 +3437,38 @@ - sys0node0membuf21mbs0mba1 + sys0node0membuf21mbs0mba0 unit-mba-centaur - HUID0x0011002B + HUID0x0011002A PHYS_PATH - physical:sys-0/node-0/membuf-21/mbs-0/mba-1 + physical:sys-0/node-0/membuf-21/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-5/membuf-21/mbs-0/mba-1 + affinity:sys-0/node-0/proc-2/mcs-5/membuf-21/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf21mbs0mba0 + sys0node0membuf21mbs0mba1 unit-mba-centaur - HUID0x0011002A + HUID0x0011002B PHYS_PATH - physical:sys-0/node-0/membuf-21/mbs-0/mba-0 + physical:sys-0/node-0/membuf-21/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-5/membuf-21/mbs-0/mba-0 + affinity:sys-0/node-0/proc-2/mcs-5/membuf-21/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3719,38 +3543,38 @@ - sys0node0membuf22mbs0mba1 + sys0node0membuf22mbs0mba0 unit-mba-centaur - HUID0x0011002D + HUID0x0011002C PHYS_PATH - physical:sys-0/node-0/membuf-22/mbs-0/mba-1 + physical:sys-0/node-0/membuf-22/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-6/membuf-22/mbs-0/mba-1 + affinity:sys-0/node-0/proc-2/mcs-6/membuf-22/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf22mbs0mba0 + sys0node0membuf22mbs0mba1 unit-mba-centaur - HUID0x0011002C + HUID0x0011002D PHYS_PATH - physical:sys-0/node-0/membuf-22/mbs-0/mba-0 + physical:sys-0/node-0/membuf-22/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-6/membuf-22/mbs-0/mba-0 + affinity:sys-0/node-0/proc-2/mcs-6/membuf-22/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3825,38 +3649,38 @@ - sys0node0membuf23mbs0mba1 + sys0node0membuf23mbs0mba0 unit-mba-centaur - HUID0x0011002F + HUID0x0011002E PHYS_PATH - physical:sys-0/node-0/membuf-23/mbs-0/mba-1 + physical:sys-0/node-0/membuf-23/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-7/membuf-23/mbs-0/mba-1 + affinity:sys-0/node-0/proc-2/mcs-7/membuf-23/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf23mbs0mba0 + sys0node0membuf23mbs0mba1 unit-mba-centaur - HUID0x0011002E + HUID0x0011002F PHYS_PATH - physical:sys-0/node-0/membuf-23/mbs-0/mba-0 + physical:sys-0/node-0/membuf-23/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-2/mcs-7/membuf-23/mbs-0/mba-0 + affinity:sys-0/node-0/proc-2/mcs-7/membuf-23/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -3931,38 +3755,38 @@ - sys0node0membuf28mbs0mba1 + sys0node0membuf28mbs0mba0 unit-mba-centaur - HUID0x00110039 + HUID0x00110038 PHYS_PATH - physical:sys-0/node-0/membuf-28/mbs-0/mba-1 + physical:sys-0/node-0/membuf-28/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-4/membuf-28/mbs-0/mba-1 + affinity:sys-0/node-0/proc-3/mcs-4/membuf-28/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf28mbs0mba0 + sys0node0membuf28mbs0mba1 unit-mba-centaur - HUID0x00110038 + HUID0x00110039 PHYS_PATH - physical:sys-0/node-0/membuf-28/mbs-0/mba-0 + physical:sys-0/node-0/membuf-28/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-4/membuf-28/mbs-0/mba-0 + affinity:sys-0/node-0/proc-3/mcs-4/membuf-28/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -4037,38 +3861,38 @@ - sys0node0membuf29mbs0mba1 + sys0node0membuf29mbs0mba0 unit-mba-centaur - HUID0x0011003B + HUID0x0011003A PHYS_PATH - physical:sys-0/node-0/membuf-29/mbs-0/mba-1 + physical:sys-0/node-0/membuf-29/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-5/membuf-29/mbs-0/mba-1 + affinity:sys-0/node-0/proc-3/mcs-5/membuf-29/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf29mbs0mba0 + sys0node0membuf29mbs0mba1 unit-mba-centaur - HUID0x0011003A + HUID0x0011003B PHYS_PATH - physical:sys-0/node-0/membuf-29/mbs-0/mba-0 + physical:sys-0/node-0/membuf-29/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-5/membuf-29/mbs-0/mba-0 + affinity:sys-0/node-0/proc-3/mcs-5/membuf-29/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -4143,38 +3967,38 @@ - sys0node0membuf30mbs0mba1 + sys0node0membuf30mbs0mba0 unit-mba-centaur - HUID0x0011003D + HUID0x0011003C PHYS_PATH - physical:sys-0/node-0/membuf-30/mbs-0/mba-1 + physical:sys-0/node-0/membuf-30/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-6/membuf-30/mbs-0/mba-1 + affinity:sys-0/node-0/proc-3/mcs-6/membuf-30/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf30mbs0mba0 + sys0node0membuf30mbs0mba1 unit-mba-centaur - HUID0x0011003C + HUID0x0011003D PHYS_PATH - physical:sys-0/node-0/membuf-30/mbs-0/mba-0 + physical:sys-0/node-0/membuf-30/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-6/membuf-30/mbs-0/mba-0 + affinity:sys-0/node-0/proc-3/mcs-6/membuf-30/mbs-0/mba-1 CHIP_UNIT - 0 + 1 @@ -4249,38 +4073,38 @@ - sys0node0membuf31mbs0mba1 + sys0node0membuf31mbs0mba0 unit-mba-centaur - HUID0x0011003F + HUID0x0011003E PHYS_PATH - physical:sys-0/node-0/membuf-31/mbs-0/mba-1 + physical:sys-0/node-0/membuf-31/mbs-0/mba-0 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-7/membuf-31/mbs-0/mba-1 + affinity:sys-0/node-0/proc-3/mcs-7/membuf-31/mbs-0/mba-0 CHIP_UNIT - 1 + 0 - sys0node0membuf31mbs0mba0 + sys0node0membuf31mbs0mba1 unit-mba-centaur - HUID0x0011003E + HUID0x0011003F PHYS_PATH - physical:sys-0/node-0/membuf-31/mbs-0/mba-0 + physical:sys-0/node-0/membuf-31/mbs-0/mba-1 AFFINITY_PATH - affinity:sys-0/node-0/proc-3/mcs-7/membuf-31/mbs-0/mba-0 + affinity:sys-0/node-0/proc-3/mcs-7/membuf-31/mbs-0/mba-1 CHIP_UNIT - 0 + 1 diff --git a/src/usr/targeting/xmltohb/genHwsvMrwXml.pl b/src/usr/targeting/xmltohb/genHwsvMrwXml.pl index aa9e4263c..2f4fc30c9 100755 --- a/src/usr/targeting/xmltohb/genHwsvMrwXml.pl +++ b/src/usr/targeting/xmltohb/genHwsvMrwXml.pl @@ -81,6 +81,22 @@ if ($outFile ne "") my $SYSNAME = uc($sysname); +open (FH, "<$mrwdir/${sysname}-chip-ids.xml") || + die "ERROR: unable to open $mrwdir/${sysname}-chip-ids.xml\n"; +close (FH); + +my $chipIds = XMLin("$mrwdir/${sysname}-chip-ids.xml"); + +use constant CHIP_ID_NODE => 0; +use constant CHIP_ID_POS => 1; +use constant CHIP_ID_PATH => 2; + +my @chipIDs; +foreach my $i (@{$chipIds->{'chip-id'}}) +{ + push @chipIDs, [ $i->{node}, $i->{position}, $i->{'instance-path'} ]; +} + open (FH, "<$mrwdir/${sysname}-power-busses.xml") || die "ERROR: unable to open $mrwdir/${sysname}-power-busses.xml\n"; close (FH); @@ -420,9 +436,21 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++) my $proc = $STargets[$i][POS_FIELD]; my $ipath = $STargets[$i][PATH_FIELD]; $proc_ordinal_id = $STargets[$i][ORDINAL_FIELD]; + my $lognode; + my $logid; + for (my $j = 0; $j <= $#chipIDs; $j++) + { + if ($chipIDs[$j][CHIP_ID_PATH] eq $ipath) + { + $lognode = $chipIDs[$j][CHIP_ID_NODE]; + $logid = $chipIDs[$j][CHIP_ID_POS]; + last; + } + } if ($proc eq $Mproc) { - generate_master_proc($proc, $ipath,$STargets[$i][ORDINAL_FIELD]); + generate_proc($proc, $ipath, $lognode, $logid, + $proc_ordinal_id, 1, 0, 0); if ($build eq "fsp") { generate_occ($proc); @@ -458,7 +486,8 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++) last; } } - generate_slave_proc($proc, $fsi, $ipath,$STargets[$i][ORDINAL_FIELD]); + generate_proc($proc, $ipath, $lognode, $logid, + $proc_ordinal_id, 0, 1, $fsi); if ($build eq "fsp") { generate_occ($proc); @@ -917,9 +946,43 @@ sub generate_sys FREQ_MEM_REFCLOCK $mem_refclk + + + FREQ_CORE_FLOOR - 2500 + 0x2580 + + + FREQ_PB + 0x960 + + + FREQ_X + 0x12C0 + + + FREQ_A + 0x1900 + + + FREQ_PCIE + 0x3E8 + + + + + + PROC_EPS_GB_DIRECTION + 0 + + + PROC_EPS_GB_PERCENTAGE + 0x14 + + + PROC_FABRIC_ASYNC_SAFE_MODE + 0 SP_FUNCTIONS @@ -946,11 +1009,11 @@ sub generate_sys MSS_MBA_ADDR_INTERLEAVE_BIT 24 - + MSS_MBA_CACHELINE_INTERLEAVE_MODE 1 - + MSS_PREFETCH_ENABLE 1 @@ -1105,9 +1168,10 @@ sub generate_system_node } } -sub generate_master_proc +sub generate_proc { - my ($proc, $ipath, $ordinalId) = @_; + my ($proc, $ipath, $lognode, $logid, $ordinalId, $master, $slave, $fsi) = @_; + my $uidstr = sprintf("0x%02X07%04X",${node},${proc}+${node}*8); my $scompath = $devpath->{chip}->{$ipath}->{'scom-path'}; my $scanpath = $devpath->{chip}->{$ipath}->{'scan-path'}; my $scomsize = length($scompath) + 1; @@ -1119,7 +1183,6 @@ sub generate_master_proc $mboxpath = $devpath->{chip}->{$ipath}->{'mailbox-path'}; $mboxsize = length($mboxpath) + 1; } - my $uidstr = sprintf("0x%02X07%04X",${node},${proc}+${node}*8); print " @@ -1130,8 +1193,8 @@ sub generate_master_proc POSITION${proc} SCOM_SWITCHES - useFsiScom0 - useXscom1 + useFsiScom$slave + useXscom$master useInbandScom0 reserved0 @@ -1146,14 +1209,40 @@ sub generate_master_proc FABRIC_NODE_ID - $node + $lognode FABRIC_CHIP_ID - $proc + $logid VPD_REC_NUM$proc"; + if ($slave) + { + print " + + + FSI_MASTER_CHIP + physical:sys-$sys/node-$node/proc-$Mproc + + + FSI_MASTER_TYPE + MFSI + + + FSI_MASTER_PORT + $fsi + + + FSI_SLAVE_CASCADE + 0 + + + FSI_OPTION_FLAGS + 0 + "; + } + if ($build eq "fsp") { print " @@ -1194,7 +1283,7 @@ sub generate_master_proc # Starts at 1024TB - 128GB, 4GB per proc printf( " FSP_BASE_ADDR\n" ); printf( " 0x%016X\n", - 0x0003FFE000000000 + 0x1000000000*$proc ); + 0x0003FFE000000000 + 0x100000000*$proc ); printf( " \n" ); # Starts at 1024TB - 6GB, 1MB per link/proc @@ -1429,183 +1518,6 @@ print" \n"; } -sub generate_slave_proc -{ - my ($proc, $fsi, $ipath, $ordinalId) = @_; - my $uidstr = sprintf("0x%02X07%04X",${node},$proc+${node}*8); - my $scompath = $devpath->{chip}->{$ipath}->{'scom-path'}; - my $scanpath = $devpath->{chip}->{$ipath}->{'scan-path'}; - my $scomsize = length($scompath) + 1; - my $scansize = length($scanpath) + 1; - my $mboxpath = ""; - my $mboxsize = 0; - if (exists $devpath->{chip}->{$ipath}->{'mailbox-path'}) - { - $mboxpath = $devpath->{chip}->{$ipath}->{'mailbox-path'}; - $mboxsize = length($mboxpath) + 1; - } - print " - - - - sys${sys}node${node}proc$proc - chip-processor-murano - HUID${uidstr} - POSITION$proc - SCOM_SWITCHES - - useFsiScom1 - useXscom0 - useInbandScom0 - reserved0 - - - - PHYS_PATH - physical:sys-$sys/node-$node/proc-$proc - - - AFFINITY_PATH - affinity:sys-$sys/node-$node/proc-$proc - - - - FSI_MASTER_CHIP - physical:sys-$sys/node-$node/proc-$Mproc - - - FSI_MASTER_TYPE - MFSI - - - FSI_MASTER_PORT - $fsi - - - FSI_SLAVE_CASCADE - 0 - - - FSI_OPTION_FLAGS - 0 - - - FABRIC_NODE_ID - $node - - - FABRIC_CHIP_ID - $proc - - VPD_REC_NUM$proc"; - - if ($build eq "fsp") - { - print " - - ORDINAL_ID - $ordinalId - - - FSP_SCOM_DEVICE_PATH - $scompath - $scomsize - - - FSP_SCAN_DEVICE_PATH - $scanpath - $scansize - "; - } - - if (($mboxsize != 0) && ($build eq "fsp")) - { - print " - - FSP_MBOX_DEVICE_PATH - $mboxpath - $mboxsize - "; - } - - # Data from PHYP Memory Map - - # Starts at 1024TB - 128GB, 4GB per proc - printf( "\n" ); - printf( " FSP_BASE_ADDR\n" ); - printf( " 0x%016X\n", - 0x0003FFE000000000 + 0x1000000000*$proc ); - printf( " \n" ); - - # Starts at 1024TB - 6GB, 1MB per link/proc - printf( " PSI_BRIDGE_BASE_ADDR\n" ); - printf( " 0x%016X\n", - 0x0003FFFE80000000 + 0x100000*$proc ); - printf( " \n" ); - - # Starts at 1024TB - 2GB, 1MB per proc - printf( " INTP_BASE_ADDR\n" ); - printf( " 0x%016X\n", - 0x0003FFFF80000000 + 0x100000*$proc ); - printf( " \n" ); - - # Starts at 1024TB - 7GB, 1MB per PHB (=4MB per proc) - printf( " PHB_BASE_ADDRS\n" ); - printf( " \n" ); - printf( " 0x%016X,0x%016X,\n", - 0x0003FFFE40000000 + 0x400000*$proc + 0x100000*0, - 0x0003FFFE40000000 + 0x400000*$proc + 0x100000*1 ); - printf( " 0x%016X,0x%016X\n", - 0x0003FFFE40000000 + 0x400000*$proc + 0x100000*2, - 0x0003FFFE40000000 + 0x400000*$proc + 0x100000*3 ); - printf( " \n" ); - printf( " \n" ); - - # Starts at 976TB, 64GB per PHB (=256GB per proc) - printf( " PCI_BASE_ADDRS\n" ); - printf( " \n" ); - printf( " 0x%016X,0x%016X,\n", - 0x0003D00000000000 + 0x4000000000*$proc + 0x1000000000*0, - 0x0003D00000000000 + 0x4000000000*$proc + 0x1000000000*1 ); - printf( " 0x%016X,0x%016X\n", - 0x0003D00000000000 + 0x4000000000*$proc + 0x1000000000*2, - 0x0003D00000000000 + 0x4000000000*$proc + 0x1000000000*3 ); - printf( " \n" ); - printf( " \n" ); - - # Starts at 0, 2TB per proc - printf( " MEM_BASE\n" ); - printf( " 0x%016X\n", 0x20000000000*$proc ); - printf( " \n" ); - - # Starts at 512TB, 2TB per proc - printf( " MIRROR_BASE\n" ); - printf( " 0x%016X\n", - 0x0002000000000000 + 0x20000000000*$proc ); - printf( " \n" ); - - # Starts at 1024TB - 3GB - printf( " RNG_BASE_ADDR\n" ); - printf( " 0x%016X\n", - 0x0003FFFF40000000 + 0x1000*$proc ); - printf( " \n" ); - - # end PHYP Memory Map - - - if ($build eq "fsp") - { - print " - - RID - 0x100$proc - "; - } - - print "\n\n"; - -} - sub generate_ex { my ($proc, $ex, $ordinalId) = @_; @@ -1971,11 +1883,6 @@ sub generate_mba $proc =~ s/.*:p(.*):.*/$1/g; $mcs =~ s/.*:.*:mcs(.*)/$1/g; - if ($mba == 0) - { - print "\n\n"; - } - my $uidstr = sprintf("0x%02X11%04X",${node},$mba+$mcs*2+$proc*8*2+${node}*8*8*2); print " diff --git a/src/usr/xscom/test/xscomtest.H b/src/usr/xscom/test/xscomtest.H index 187eeaf74..4901de611 100644 --- a/src/usr/xscom/test/xscomtest.H +++ b/src/usr/xscom/test/xscomtest.H @@ -1,25 +1,25 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/usr/xscom/test/xscomtest.H $ -// -// IBM CONFIDENTIAL -// -// COPYRIGHT International Business Machines Corp. 2011 -// -// p1 -// -// Object Code Only (OCO) source materials -// Licensed Internal Code Source Materials -// IBM HostBoot Licensed Internal Code -// -// The source code for this program is not published or other- -// wise divested of its trade secrets, irrespective of what has -// been deposited with the U.S. Copyright Office. -// -// Origin: 30 -// -// IBM_PROLOG_END +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/xscom/test/xscomtest.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef __XCOMTEST_H #define __XCOMTEST_H @@ -50,8 +50,8 @@ struct testXscomAddrData const testXscomAddrData g_xscomAddrTable[] = { // Write data to be ORed with read value - {0x13030007, 0x0000040000000000}, - {0x13010002, 0xC000000000000000}, + {0x14030007, 0x0000040000000000}, + {0x14010002, 0xC000000000000000}, }; const uint32_t g_xscomAddrTableSz = sizeof(g_xscomAddrTable)/sizeof(testXscomAddrData); -- cgit v1.2.3