summaryrefslogtreecommitdiffstats
path: root/src/occ_405/state.c
diff options
context:
space:
mode:
authorWael El-Essawy <welessa@us.ibm.com>2015-10-06 09:17:06 -0500
committerFadi Kassem <fmkassem@us.ibm.com>2015-10-06 16:20:09 -0500
commit64ba6727bc31917105528e60950b0b2d2745a15e (patch)
tree61dc3c70f60e48809c33c8858f01dec5a0b52e81 /src/occ_405/state.c
parent774c825185dbca3c11c3ca946f4b07b72ee0c4d5 (diff)
downloadtalos-occ-64ba6727bc31917105528e60950b0b2d2745a15e.tar.gz
talos-occ-64ba6727bc31917105528e60950b0b2d2745a15e.zip
fix getscom_abs and _getscom code
Instead of reading the scom registers, and storing the results to a memory address specified by o_data, the two routines were loading data into a vector register, without storing it to the o_data pointer, basically losing it. There is no memory to memory PPC instruction, so the minimum number of instructions to execute the code is two: a vector load and a vector store. - Had to modify the ppe42_scom.h to make the _m_data parameter to the PPE_LVD and PPE_LVDX macros an output only. Otherwise, the compiler initializes the temp variable, adding two (useless) instructions. - make the PPE_LVDX macro have the same flavor as PPE_LVD by eliminating the pointer to m_data from both the _getscom function side and the macro implementation side. This fix is already merged in the hw/ppe repository. Change-Id: I6390d2c5e2fbcecf440080917611a82ae88d313b RTC: 135989 RTC: 137704 RTC: 136459 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/20976 Reviewed-by: William A. Bryan <wilbryan@us.ibm.com> Tested-by: William A. Bryan <wilbryan@us.ibm.com> Reviewed-by: Fadi Kassem <fmkassem@us.ibm.com>
Diffstat (limited to 'src/occ_405/state.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud