summaryrefslogtreecommitdiffstats
path: root/src/test/testcases
diff options
context:
space:
mode:
authorspashabk-in <shakeebbk@in.ibm.com>2018-06-25 00:20:08 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2018-06-29 08:45:54 -0400
commit5c79faf686d859ad4ef14c4fea313b097e700982 (patch)
tree8295550a51ef41b4654ad1b4bbd84189a9c52723 /src/test/testcases
parent8c276e4ad59bb6964d342121c69d78d896101d24 (diff)
downloadtalos-sbe-5c79faf686d859ad4ef14c4fea313b097e700982.tar.gz
talos-sbe-5c79faf686d859ad4ef14c4fea313b097e700982.zip
ppe CI memory testcase failure fix
Change-Id: I855efb072539516c2490cdf63e480b46214db27c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61249 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61648
Diffstat (limited to 'src/test/testcases')
-rw-r--r--src/test/testcases/testIstep.xml290
-rw-r--r--src/test/testcases/testUnsecureMemRegions.py366
2 files changed, 181 insertions, 475 deletions
diff --git a/src/test/testcases/testIstep.xml b/src/test/testcases/testIstep.xml
index 858414e2..fd72fdc1 100644
--- a/src/test/testcases/testIstep.xml
+++ b/src/test/testcases/testIstep.xml
@@ -26,295 +26,7 @@
<!-- Positive Istep Test case -->
<testcase>
- <simcmd>sbe-istep 2 2</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 3</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 4</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 5</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 6</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 7</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 8</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 9</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 10</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 11</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 12</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 13</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 14</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 15</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 16</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 2 17</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 1</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 2</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 3</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 4</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 5</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 6</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 7</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 8</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 9</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 10</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 11</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 12</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 13</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 14</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 15</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 16</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 17</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 18</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 19</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 20</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 21</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 3 22</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 1</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 2</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 3</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 4</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 5</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 6</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 7</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 8</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 9</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 10</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 11</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 12</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 13</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 14</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 15</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 16</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 17</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 18</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 19</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 20</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 21</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 22</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 23</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 24</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 25</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 26</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 27</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 28</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 29</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 30</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 31</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 32</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 33</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 4 34</simcmd>
- <exitonerror>yes</exitonerror>
- </testcase>
- <testcase>
- <simcmd>sbe-istep 5 1</simcmd>
+ <simcmd>sbe-istep 2.2 5.1</simcmd>
<exitonerror>yes</exitonerror>
</testcase>
<!-- Stash address test case -->
diff --git a/src/test/testcases/testUnsecureMemRegions.py b/src/test/testcases/testUnsecureMemRegions.py
index b375b611..e0445b47 100644
--- a/src/test/testcases/testUnsecureMemRegions.py
+++ b/src/test/testcases/testUnsecureMemRegions.py
@@ -35,200 +35,194 @@ MEM_WINDOWS_BASE_ADDRESS = 0x08000000 + 0x2000
# MAIN Test Run Starts Here...
#-------------------------------------------------
def main():
- testUtil.runCycles( 50000000 )
+ # Close the HB dump region
+ testMemProcUtil.setUnsecureMemRegion(0x08000000, 32*1024*1024, 0x0120, 0)
- try:
- # Close the HB dump region
- testMemProcUtil.setUnsecureMemRegion(0x08000000, 32*1024*1024, 0x0120, 0)
+ # Test case 1: open RO mem region - success
+ testcase = 1
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 1024, 0x0111, 0)
+ # Test case 2: open RW mem region - success
+ # This region is kept open for mem testcases - will be closed by
+ # testUnsecureMemRegionsClose.py
+ testcase = 2
+ testMemProcUtil.setUnsecureMemRegion(0x08000000, 0x2000, 0x0112, 0)
+ # Test case 3: close RO mem region - success
+ testcase = 3
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 1024, 0x0120, 0)
- # Test case 1: open RO mem region - success
- testcase = 1
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 1024, 0x0111, 0)
- # Test case 2: open RW mem region - success
- # This region is kept open for mem testcases - will be closed by
- # testUnsecureMemRegionsClose.py
- testcase = 2
- testMemProcUtil.setUnsecureMemRegion(0x08000000, 0x2000, 0x0112, 0)
- # Test case 3: close RO mem region - success
- testcase = 3
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 1024, 0x0120, 0)
+ # Test case 4: open 9th window - failure
+ testcase = 4
+ # 2
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0111, 0)
+ # 3
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0111, 0)
+ # 4
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0111, 0)
+ # 5
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0111, 0)
+ # 6
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0111, 0)
+ # 7
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0111, 0)
+ # 8
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0111, 0)
+ # 9 - failed - response expected -
+ # SBE_PRI_USER_ERROR = 0x03
+ # SBE_SEC_MAXIMUM_MEM_REGION_EXCEEDED = 0x16
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x70, 0x10, 0x0111, 0x00030016)
+ # Test case 5: open existing window - failure
+ testcase = 5
+ # response expected
+ # SBE_PRI_USER_ERROR = 0x03
+ # SBE_SEC_MEM_REGION_AMEND_ATTEMPTED = 0x17
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0111, 0x00030017)
+ # Test case 6: close non-existing window - failure
+ testcase = 6
+ # response expected
+ # SBE_PRI_USER_ERROR = 0x03
+ # SBE_SEC_MEM_REGION_NOT_FOUND = 0x15
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x70, 0x10, 0x0120, 0x00030015)
+ # Test case 7: remove a window in between - adding it again should pass
+ testcase = 7
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0120, 0)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0111, 0)
+ # Test case 8: remove all and open again to validate removal
+ testcase = 8
+ # 1
+ testMemProcUtil.setUnsecureMemRegion(0x08000000, 0x2000, 0x0120, 0)
+ # Open Window with start address not exsting, but size spanning across
+ # existing window
+ # failed - response expected -
+ # SBE_PRI_USER_ERROR = 0x03
+ # SBE_SEC_MEM_REGION_AMEND_ATTEMPTED = 0x17
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS-0x10, 0x20, 0x0111, 0x00030017)
+ # 2
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0120, 0)
+ # 3
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0120, 0)
+ # 4
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0120, 0)
+ # 5
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0120, 0)
+ # 6
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0120, 0)
+ # 7
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0120, 0)
+ # 8
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0120, 0)
+ # 1
+ testMemProcUtil.setUnsecureMemRegion(0x08000000, 0x2000, 0x0112, 0)
+ # 2
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0111, 0)
+ testcase = "8: new window subsuming exsiting windows"
+ # failed - response expected -
+ # SBE_PRI_USER_ERROR = 0x03
+ # SBE_SEC_MEM_REGION_AMEND_ATTEMPTED = 0x17
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS-0x10, 0x30, 0x0111, 0x00030017)
+ testcase = "8"
+ # 3
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0111, 0)
+ # 4
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0111, 0)
+ # 5
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0111, 0)
+ # 6
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0111, 0)
+ # 7
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0111, 0)
+ # 8
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0111, 0)
+ # 9 - failed - response expected -
+ # SBE_PRI_USER_ERROR = 0x03
+ # SBE_SEC_MAXIMUM_MEM_REGION_EXCEEDED = 0x16
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x70, 0x10, 0x0111, 0x00030016)
- # Test case 4: open 9th window - failure
- testcase = 4
- # 2
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0111, 0)
- # 3
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0111, 0)
- # 4
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0111, 0)
- # 5
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0111, 0)
- # 6
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0111, 0)
- # 7
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0111, 0)
- # 8
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0111, 0)
- # 9 - failed - response expected -
- # SBE_PRI_USER_ERROR = 0x03
- # SBE_SEC_MAXIMUM_MEM_REGION_EXCEEDED = 0x16
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x70, 0x10, 0x0111, 0x00030016)
- # Test case 5: open existing window - failure
- testcase = 5
- # response expected
- # SBE_PRI_USER_ERROR = 0x03
- # SBE_SEC_MEM_REGION_AMEND_ATTEMPTED = 0x17
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0111, 0x00030017)
- # Test case 6: close non-existing window - failure
- testcase = 6
- # response expected
- # SBE_PRI_USER_ERROR = 0x03
- # SBE_SEC_MEM_REGION_NOT_FOUND = 0x15
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x70, 0x10, 0x0120, 0x00030015)
- # Test case 7: remove a window in between - adding it again should pass
- testcase = 7
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0120, 0)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0111, 0)
- # Test case 8: remove all and open again to validate removal
- testcase = 8
- # 1
- testMemProcUtil.setUnsecureMemRegion(0x08000000, 0x2000, 0x0120, 0)
- # Open Window with start address not exsting, but size spanning across
- # existing window
- # failed - response expected -
- # SBE_PRI_USER_ERROR = 0x03
- # SBE_SEC_MEM_REGION_AMEND_ATTEMPTED = 0x17
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS-0x10, 0x20, 0x0111, 0x00030017)
- # 2
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0120, 0)
- # 3
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0120, 0)
- # 4
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0120, 0)
- # 5
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0120, 0)
- # 6
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0120, 0)
- # 7
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0120, 0)
- # 8
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0120, 0)
- # 1
- testMemProcUtil.setUnsecureMemRegion(0x08000000, 0x2000, 0x0112, 0)
- # 2
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0111, 0)
- testcase = "8: new window subsuming exsiting windows"
- # failed - response expected -
- # SBE_PRI_USER_ERROR = 0x03
- # SBE_SEC_MEM_REGION_AMEND_ATTEMPTED = 0x17
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS-0x10, 0x30, 0x0111, 0x00030017)
- testcase = "8"
- # 3
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0111, 0)
- # 4
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0111, 0)
- # 5
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0111, 0)
- # 6
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0111, 0)
- # 7
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0111, 0)
- # 8
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0111, 0)
- # 9 - failed - response expected -
- # SBE_PRI_USER_ERROR = 0x03
- # SBE_SEC_MAXIMUM_MEM_REGION_EXCEEDED = 0x16
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x70, 0x10, 0x0111, 0x00030016)
+ # Cleanup - close all the windows open except the one for mem testcases
+ # 2
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0120, 0)
+ # 3
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0120, 0)
+ # 4
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0120, 0)
+ # 5
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0120, 0)
+ # 6
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0120, 0)
+ # 7
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0120, 0)
+ # 8
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0120, 0)
- # Cleanup - close all the windows open except the one for mem testcases
- # 2
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS, 0x10, 0x0120, 0)
- # 3
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x10, 0x10, 0x0120, 0)
- # 4
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x20, 0x10, 0x0120, 0)
- # 5
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x30, 0x10, 0x0120, 0)
- # 6
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x10, 0x0120, 0)
- # 7
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0x0120, 0)
- # 8
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x10, 0x0120, 0)
+ # Test case 9: access memory in unopened window - ADU
+ testcase = 9
+ testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x40, 0xA5, 0x00050014)
+ # Test case 10: access memory in unopened window - PBA
+ testcase = 10
+ testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x80, 0x80, 0x02, 0x00050014)
- # Test case 9: access memory in unopened window - ADU
- testcase = 9
- testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x40, 0xA5, 0x00050014)
- # Test case 10: access memory in unopened window - PBA
- testcase = 10
- testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x80, 0x80, 0x02, 0x00050014)
+ # Test case 11: access memory spanning across two windows
+ testcase = 11
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x40, 0x0111, 0)
+ testUtil.runCycles(100000)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 0x40, 0x0111, 0)
+ testUtil.runCycles(100000)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0xC0, 0x40, 0x0111, 0)
+ testUtil.runCycles(1000000)
+ # start and end on edges
+ testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x80, 0xA5)
+ testUtil.runCycles(100000)
+ # start in between and end on edge
+ testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x60, 0xA5)
+ testUtil.runCycles(100000)
+ # start on edge and end in between
+ testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x60, 0xA5)
+ testUtil.runCycles(100000)
+ # start on edge and end in between - 3rd window
+ testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x40, 0xA0, 0xA5)
+ testUtil.runCycles(100000)
- # Test case 11: access memory spanning across two windows
- testcase = 11
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x40, 0x0111, 0)
- testUtil.runCycles(100000)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 0x40, 0x0111, 0)
- testUtil.runCycles(100000)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0xC0, 0x40, 0x0111, 0)
- testUtil.runCycles(1000000)
- # start and end on edges
- testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x80, 0xA5)
- testUtil.runCycles(100000)
- # start in between and end on edge
- testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x60, 0xA5)
- testUtil.runCycles(100000)
- # start on edge and end in between
- testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x60, 0xA5)
- testUtil.runCycles(100000)
- # start on edge and end in between - 3rd window
- testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x40, 0xA0, 0xA5)
- testUtil.runCycles(100000)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x40, 0x0120, 0)
+ testUtil.runCycles(100000)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 0x40, 0x0120, 0)
+ testUtil.runCycles(100000)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0xC0, 0x40, 0x0120, 0)
+ testUtil.runCycles(100000)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x40, 0x0120, 0)
- testUtil.runCycles(100000)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 0x40, 0x0120, 0)
- testUtil.runCycles(100000)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0xC0, 0x40, 0x0120, 0)
- testUtil.runCycles(100000)
+ # Test case 12: read access in read-write window - ADU
+ testcase = 12
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0112, 0)
+ testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0xA5)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0120, 0)
+ # Test case 13: read access in read-write window - PBA
+ testcase = 13
+ testMemProcUtil.getmem(0x08000080, 128, 0x02)
- # Test case 12: read access in read-write window - ADU
- testcase = 12
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0112, 0)
- testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0xA5)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0120, 0)
- # Test case 13: read access in read-write window - PBA
- testcase = 13
- testMemProcUtil.getmem(0x08000080, 128, 0x02)
-
- # Test case 14: write access in read-only window - ADU
- testcase = 14
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0111, 0)
- data = os.urandom(8)
- data = [ord(c) for c in data]
- testMemProcUtil.putmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x80, data, 0xA5, 0x00050014)
- # Test case 15: write access in read-only window - PBA
- testcase = 15
- data = os.urandom(128)
- data = [ord(c) for c in data]
- testMemProcUtil.putmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x80, data, 0x02, 0x00050014)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0120, 0)
- # Test case 16: access memory for which a partial window is open
- testcase = 16
- testUtil.runCycles(1000000)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x30, 0x0111, 0)
- # start in between and end outside
- testUtil.runCycles(1000000)
- testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x40, 0xA5, 0x00050014)
- # start on edge and end outside
- testUtil.runCycles(1000000)
- testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x40, 0xA5, 0x00050014)
- # start and end within
- testUtil.runCycles(1000000)
- testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0xA5)
- testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x30, 0x0120, 0)
- except:
- print "FAILED Test Case:"+str(testcase)
- raise Exception('Failure')
+ # Test case 14: write access in read-only window - ADU
+ testcase = 14
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0111, 0)
+ data = os.urandom(8)
+ data = [ord(c) for c in data]
+ testMemProcUtil.putmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x80, data, 0xA5, 0x00050014)
+ # Test case 15: write access in read-only window - PBA
+ testcase = 15
+ data = os.urandom(128)
+ data = [ord(c) for c in data]
+ testMemProcUtil.putmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x80, data, 0x02, 0x00050014)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x80, 128, 0x0120, 0)
+ # Test case 16: access memory for which a partial window is open
+ testcase = 16
+ testUtil.runCycles(1000000)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x30, 0x0111, 0)
+ # start in between and end outside
+ testUtil.runCycles(1000000)
+ testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x60, 0x40, 0xA5, 0x00050014)
+ # start on edge and end outside
+ testUtil.runCycles(1000000)
+ testMemProcUtil.getmem_failure(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x40, 0xA5, 0x00050014)
+ # start and end within
+ testUtil.runCycles(1000000)
+ testMemProcUtil.getmem(MEM_WINDOWS_BASE_ADDRESS+0x50, 0x10, 0xA5)
+ testMemProcUtil.setUnsecureMemRegion(MEM_WINDOWS_BASE_ADDRESS+0x40, 0x30, 0x0120, 0)
#-------------------------------------------------
# Calling all test code
#-------------------------------------------------
OpenPOWER on IntegriCloud