summaryrefslogtreecommitdiffstats
path: root/src/lib/gpe_pba_pgas.pS
diff options
context:
space:
mode:
authorWilliam Bryan <wilbryan@us.ibm.com>2015-08-03 12:38:58 -0500
committerWilliam A. Bryan <wilbryan@us.ibm.com>2015-08-03 15:32:27 -0500
commit420e6d248cc6d2b3c39bc3970e3bb6747b3bddc3 (patch)
treec9f6691eddba39193e39aa769367e1267fb9fc86 /src/lib/gpe_pba_pgas.pS
parentadade8c8ef30ed519322674c762d95663009c5d4 (diff)
downloadtalos-occ-420e6d248cc6d2b3c39bc3970e3bb6747b3bddc3.tar.gz
talos-occ-420e6d248cc6d2b3c39bc3970e3bb6747b3bddc3.zip
new ssx and lib files
Change-Id: I2328b1e86d59e3788910687d762fb70ec680058f Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19503 Reviewed-by: William A. Bryan <wilbryan@us.ibm.com> Tested-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/lib/gpe_pba_pgas.pS')
-rwxr-xr-xsrc/lib/gpe_pba_pgas.pS110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/lib/gpe_pba_pgas.pS b/src/lib/gpe_pba_pgas.pS
deleted file mode 100755
index 346234d..0000000
--- a/src/lib/gpe_pba_pgas.pS
+++ /dev/null
@@ -1,110 +0,0 @@
-// $Id: gpe_pba_pgas.pS,v 1.1.1.1 2013/12/11 20:49:20 bcbrock Exp $
-// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/lib/gpe_pba_pgas.pS,v $
-//-----------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2013
-// *! All Rights Reserved -- Property of IBM
-// *! *** IBM Confidential ***
-//-----------------------------------------------------------------------------
-
-/// \file gpe_pba.pS
-/// \brief PBA subroutines for PORE-GPE procedures
-
- .nolist
-#include "ssx.h"
-#include "pgas.h"
-#include "pgp_config.h"
-#include "gpe.h"
-#include "gpe_pba.h"
- .list
-
- .oci
-
- .text.pore
-
- // Reset a PBA slave from a GpePbaParms structure. A setup sequence
- // looks like
- //
- // gpe_pba_reset
- // gpe_pba_setup
- //
- // The subroutine gpe_pba_reset can also be called by itself to insure
- // that all write data has been flushed to mainstore.
- //
- // Note that any PORE program that reads or writes Centaur will need
- // to execute its code from SRAM since it is not possible to set up
- // the slave for reading from Centaur while executing from main memory.
- //
- // Slave reset for PBA is a complex issue, especially in cases like
- // this where the entity requesting the reset may be executing from
- // main memory - i.e., continuing to read from the slave being
- // reset. To work around potential issues the code that polls for
- // reset is PowerBus cache-line aligned, and we re-hit the reset
- // button each time we get an unsuccessful poll for the reset being
- // done. This should guarantee that the slave will go to reset
- // status as soon as any PowerBus blockages (if any) clear. For
- // details see HW228485.
- //
- // At entry :
- //
- // A0 : The (constant) address of the GpePbaParms structure
- //
- // Clobbered:
- //
- // D0 : scratched
- // D1 : scratched
- // A1 : Holds PBA_SLVRST
-
- .global gpe_pba_reset
-
- .balign 128
-gpe_pba_reset:
- la A1, PBA_SLVRST
- ld D0, GPEPBAPARMS_SLVRST, A0
- std D0, 0, A1
-
- ld D0, GPEPBAPARMS_SLVRST_IN_PROGRESS, A0
- ld D1, 0, A1
- and D0, D0, D1
- branz D0, gpe_pba_reset
-
- ret
-
- .epilogue gpe_pba_reset
-
-
- // Set up a PBA slave from a GpePbaParms structure. A setup sequence
- // looks like
- //
- // gpe_pba_reset
- // gpe_pba_setup
- //
- // At entry :
- //
- // A0 : The (constant) address of the GpePbaParms structure
- //
- // Clobbered:
- //
- // D0 : scratch
- // A1 : Holds PBA_SLVCTL address for the indicated slave
-
-
- .global gpe_pba_setup
-gpe_pba_setup:
-
- // Write the new SLVCTL value under MASK
-
- ld D0, GPEPBAPARMS_SLVCTL_ADDRESS, A0
- mr A1, D0
-
- ld D0, 0, A1
- ld D1, GPEPBAPARMS_MASK, A0
- and D0, D0, D1
-
- ld D1, GPEPBAPARMS_SLVCTL, A0
- or D0, D0, D1
-
- std D0, 0, A1
-
- ret
-
- .epilogue gpe_pba_setup
OpenPOWER on IntegriCloud