Title: Safe Memory Access Description: This test verifies that the safe memory access (_mem_safe) functions as intended. --------------------------------------------------------------------------- Building and Running Project: This nanokernel project outputs to the console. It can be built and executed on QEMU as follows: make qemu --------------------------------------------------------------------------- Troubleshooting: Problems caused by out-dated project information can be addressed by issuing one of the following commands then rebuilding the project: make clean # discard results of previous builds # but keep existing configuration info or make pristine # discard results of previous builds # and restore pre-defined configuration info --------------------------------------------------------------------------- Sample Output: testing SUCCESS of READ on RO memory with width 1.......PASS testing SUCCESS of READ on RO memory with width 2.......PASS testing SUCCESS of READ on RO memory with width 4.......PASS testing FAILURE of WRITE on RO memory with width 1.......PASS testing FAILURE of WRITE on RO memory with width 2.......PASS testing FAILURE of WRITE on RO memory with width 4.......PASS testing SUCCESS of READ on RW memory with width 1.......PASS testing SUCCESS of READ on RW memory with width 2.......PASS testing SUCCESS of READ on RW memory with width 4.......PASS testing SUCCESS of WRITE on RW memory with width 1.......PASS testing SUCCESS of WRITE on RW memory with width 2.......PASS testing SUCCESS of WRITE on RW memory with width 4.......PASS testing FAILURE of INVALID ACCESS on RW memory with width 4.......PASS testing FAILURE of READ on RO memory with width 0.......PASS testing SUCCESS of READ on RO memory with width 1.......PASS testing SUCCESS of READ on RO memory with width 2.......PASS testing FAILURE of READ on RO memory with width 3.......PASS testing SUCCESS of READ on RO memory with width 4.......PASS testing FAILURE of READ on RO memory with width 5.......PASS testing FAILURE of READ on RO memory with width 8.......PASS testing SUCCESS of READ on RO memory with width 1.......PASS testing SUCCESS of READ on RO memory with width 1.......PASS testing SUCCESS of READ on RW memory with width 1.......PASS testing SUCCESS of READ on RW memory with width 1.......PASS testing FAILURE of WRITE on RO memory with width 1.......PASS testing FAILURE of WRITE on RO memory with width 1.......PASS testing SUCCESS of WRITE on RW memory with width 1.......PASS testing SUCCESS of WRITE on RW memory with width 1.......PASS testing FAILURE of READ on out-of-image memory with width 1.......PASS testing FAILURE of READ on out-of-image memory with width 1.......PASS testing SUCCESS of adding extra RO region.......PASS testing SUCCESS of adding extra RW region.......PASS testing FAILURE of adding extra region that won't fit.......PASS testing SUCCESS of READ on out-of-image memory with width 1.......PASS testing SUCCESS of READ on out-of-image memory with width 1.......PASS testing SUCCESS of READ on out-of-image memory with width 1.......PASS testing SUCCESS of READ on out-of-image memory with width 1.......PASS testing FAILURE of WRITE on out-of-image memory with width 1.......PASS testing FAILURE of WRITE on out-of-image memory with width 1.......PASS testing SUCCESS of WRITE on out-of-image memory with width 1.......PASS testing SUCCESS of WRITE on out-of-image memory with width 1.......PASS testing FAILURE of READ on out-of-image memory with width 1.......PASS testing FAILURE of READ on out-of-image memory with width 1.......PASS testing FAILURE of READ on out-of-image memory with width 1.......PASS testing FAILURE of READ on out-of-image memory with width 1.......PASS testing FAILURE of WRITE on RO memory with width 1.......PASS testing SUCCESS of _mem_probe() reading RO values.......PASS testing SUCCESS of _mem_probe() reading RW values.......PASS testing SUCCESS of _mem_probe() writing values.......PASS testing SUCCESS of _mem_safe_read(size: 16, width: 0).......PASS testing SUCCESS of _mem_safe_read(size: 16, width: 4).......PASS testing SUCCESS of _mem_safe_read(size: 14, width: 2).......PASS testing SUCCESS of _mem_safe_read(size: 15, width: 1).......PASS testing FAILURE of _mem_safe_read() with bad params.......PASS (-22) testing SUCCESS of _mem_safe_write(size: 16, width: 0).......PASS testing SUCCESS of _mem_safe_write(size: 16, width: 4).......PASS testing SUCCESS of _mem_safe_write(size: 14, width: 2).......PASS testing SUCCESS of _mem_safe_write(size: 15, width: 1).......PASS testing FAILURE of _mem_safe_write() with bad params.......PASS (-22) =================================================================== PASS - main. =================================================================== PROJECT EXECUTION SUCCESSFUL