diff options
author | spashabk-in <shakeebbk@in.ibm.com> | 2018-06-25 00:20:08 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2018-06-29 08:45:54 -0400 |
commit | 5c79faf686d859ad4ef14c4fea313b097e700982 (patch) | |
tree | 8295550a51ef41b4654ad1b4bbd84189a9c52723 /src/test/testcases | |
parent | 8c276e4ad59bb6964d342121c69d78d896101d24 (diff) | |
download | talos-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.xml | 290 | ||||
-rw-r--r-- | src/test/testcases/testUnsecureMemRegions.py | 366 |
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 #------------------------------------------------- |