diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2013-05-29 21:49:49 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-07-01 10:58:58 -0500 |
commit | 76a52f0d023c7ebc7daee44dd409e760994dfcdb (patch) | |
tree | a38d16f233d9daf0c961fe40b3bc8abe4647e6c0 /src/usr/xscom/xscom.C | |
parent | 166d3eafee5895c793d53cd8b236ce5ec7e8dea3 (diff) | |
download | talos-hostboot-76a52f0d023c7ebc7daee44dd409e760994dfcdb.tar.gz talos-hostboot-76a52f0d023c7ebc7daee44dd409e760994dfcdb.zip |
FSI Fixes for multi-chip support
Changes include the following:
- Fix for modified slave break behavior
- Xscom chipid bug fix
RTC: 64149
Change-Id: Icd9c93ed265f0004ab4a726fcc01bde0cbe3eadf
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5097
Tested-by: Jenkins Server
Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com>
Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/xscom/xscom.C')
-rw-r--r-- | src/usr/xscom/xscom.C | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/usr/xscom/xscom.C b/src/usr/xscom/xscom.C index 1114e8c3d..331966b49 100644 --- a/src/usr/xscom/xscom.C +++ b/src/usr/xscom/xscom.C @@ -387,14 +387,18 @@ errlHndl_t getTargetVirtualAddress(TARGETING::Target* i_target, ( ( (g_xscomMaxChipsPerNode * xscomNodeId) + xscomChipId ) * THIRTYTWO_GB); + TRACFCOMP(g_trac_xscom, + "Target %.8X :: Node:%d Chip:%d :: XscomBase:0x%llX", + TARGETING::get_huid(i_target), + xscomNodeId, + xscomChipId, + l_XSComBaseAddr); + // Target's virtual address o_virtAddr = static_cast<uint64_t*> (mmio_dev_map(reinterpret_cast<void*>(l_XSComBaseAddr), THIRTYTWO_GB)); - TRACDCOMP(g_trac_xscom, "xscomPerformOp: o_Virtual Address = 0x%llX\n", - o_virtAddr); - // Implemented the virtual address attribute.. // Leaving the comments as a discussion point... @@ -565,7 +569,7 @@ uint64_t* getCpuIdVirtualAddress() //NNNCCCPPPPTTT format fot the cpuid.. // N = node, C = chip, P = proc, T = thread - uint32_t chipId = (cpuid & 0x0480)>>7; + uint32_t chipId = (cpuid & 0x0380)>>7; uint32_t nodeId = (cpuid & 0x1C00)>>10; XSComBase_t l_systemBaseAddr = MASTER_PROC_XSCOM_BASE_ADDR; @@ -610,7 +614,7 @@ void resetScomEngine(TARGETING::Target* i_target, 0x02020007, 0x02020009}; - TRACFCOMP(g_trac_xscom,"XSCOM RESET INTIATED"); + TRACFCOMP(g_trac_xscom,"XSCOM RESET INITIATED"); // Loop through the registers you want to write to 0 for (int i = 0; i<3; i++) |