diff options
author | Rick Ward <rward15@us.ibm.com> | 2018-10-03 13:22:01 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2018-12-13 14:55:16 -0600 |
commit | 8923b2a9a3c9c477c646df3a4c66690a75ab8479 (patch) | |
tree | 4436a6b7fbbdae005ef5dce8eac97b25c837662a /src/kernel | |
parent | f7cb4b2a4cf432f56d91c12e39e4dae41e8facdf (diff) | |
download | talos-hostboot-8923b2a9a3c9c477c646df3a4c66690a75ab8479.tar.gz talos-hostboot-8923b2a9a3c9c477c646df3a4c66690a75ab8479.zip |
Inband MMIO access to OCMB
This is an untested version of the new MMIO device driver that
will give access to the OCMB. It will be tested once the Axone
model IPLs in Simics.
Change-Id: I4bc1d2f7306f1b238d1d65c24462ac4121266b11
RTC: 189447
RTC: 189220
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66941
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/machchk.C | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/kernel/machchk.C b/src/kernel/machchk.C index 776ede0ce..d17c1ff90 100644 --- a/src/kernel/machchk.C +++ b/src/kernel/machchk.C @@ -102,11 +102,22 @@ bool handleLoadUE(task_t* t) MMIO_IBSCOM_CHIP_MASK | MMIO_IBSCOM_GROUP_MASK; + // Check if address is in OCMB MMIO Range. + // Base mask bits are always set for OCMB. + // ~Combined mask bits can not be set for OCMB. + uint64_t combOcmbMask = MMIO_OCMB_BASE_MASK | + MMIO_OCMB_BASE_RANGE; + if(((phys & MMIO_IBSCOM_BASE_MASK) == MMIO_IBSCOM_BASE_MASK) && ((phys & ~combMask) == 0)) { ueMagicValue = MMIO_IBSCOM_UE_DETECTED; } + else if(((phys & MMIO_OCMB_BASE_MASK) == MMIO_OCMB_BASE_MASK) && + ((phys & ~combOcmbMask) == 0)) + { + ueMagicValue = MMIO_OCMB_UE_DETECTED; + } else { printk("MachineCheck::handleUE: Unrecognized address %lx\n", |