summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2018-02-22 10:32:21 -0600
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-03-08 15:10:19 -0500
commit4cf79f8dc40b280faf5aac52bad3e684138e2052 (patch)
treeca1a4194fc2d9e6147fcc6bedc547c9be5a409eb /src/kernel
parentc0fce11639f72a479e3479a25362cf64337e51a1 (diff)
downloadtalos-hostboot-4cf79f8dc40b280faf5aac52bad3e684138e2052.tar.gz
talos-hostboot-4cf79f8dc40b280faf5aac52bad3e684138e2052.zip
Changes to Inband SCOM MMIO ranges for Cumulus
- Add function to compress SCOM address - Old MCS target is now DMI - Add istep12 call to enable inband SCOMs - Set each DMI offset attribute in processMrw Change-Id: If5171f8da6c58404ac598047ca0177aead048771 RTC:147272 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54574 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/machchk.C28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/kernel/machchk.C b/src/kernel/machchk.C
index 0b202024f..417b589c4 100644
--- a/src/kernel/machchk.C
+++ b/src/kernel/machchk.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2018 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -24,6 +26,7 @@
#include <kernel/console.H>
#include <kernel/vmmmgr.H>
#include <sys/mmio.h>
+#include <arch/memorymap.H>
namespace Kernel
{
@@ -83,12 +86,27 @@ bool handleLoadUE(task_t* t)
uint64_t phys = VmmManager::findPhysicalAddress(vaddr);
//Check if address is in IBSCOM MMIO Range.
- if((phys >= MMIO_IBSCOM_START) &&
- (phys <= MMIO_IBSCOM_END))
+ uint64_t ibAddrStart = 0;
+ for(uint32_t l_groupId=0; l_groupId<4; l_groupId++)
{
- ueMagicValue = MMIO_IBSCOM_UE_DETECTED;
+ for(uint32_t l_chipId=0; l_chipId<4; l_chipId++)
+ {
+ ibAddrStart = computeMemoryMapOffset( MMIO_IBSCOM_BASE,
+ l_groupId,
+ l_chipId );
+ if((phys >= ibAddrStart) &&
+ (phys <= ibAddrStart + MMIO_IBSCOM_SIZE - 1))
+ {
+ ueMagicValue = MMIO_IBSCOM_UE_DETECTED;
+ break;
+ }
+ }
+ if(ueMagicValue == MMIO_IBSCOM_UE_DETECTED)
+ {
+ break;
+ }
}
- else
+ if(ueMagicValue != MMIO_IBSCOM_UE_DETECTED)
{
printk("MachineCheck::handleUE: Unrecognized address %lx\n",
phys);
OpenPOWER on IntegriCloud