82 lines
3.0 KiB
Plaintext
82 lines
3.0 KiB
Plaintext
Title: Private Memory Maps
|
|
|
|
Description:
|
|
|
|
This test verifies that the microkernel memory map APIs operate as expected.
|
|
This also verifies the mechanism to define private memory map and its usage.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
Building and Running Project:
|
|
|
|
This microkernel 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:
|
|
|
|
tc_start() - Test Microkernel Memory Maps
|
|
Starts RegressionTask
|
|
Function testMapGetAllBlocks
|
|
MAP_LgBlks used 0 blocks
|
|
task_mem_map_alloc OK, p[0] = 001040a8
|
|
MAP_LgBlks used 1 blocks
|
|
task_mem_map_alloc OK, p[1] = 00103ca8
|
|
MAP_LgBlks used 2 blocks
|
|
task_mem_map_alloc RC_FAIL expected as all (2) blocks are used.
|
|
===================================================================
|
|
printPointers: p[0] = 001040a8, p[1] = 00103ca8,
|
|
===================================================================
|
|
Function testMapFreeAllBlocks
|
|
MAP_LgBlks used 2 blocks
|
|
block ptr to free p[0] = 001040a8
|
|
MAP_LgBlks freed 1 block
|
|
MAP_LgBlks used 1 blocks
|
|
block ptr to free p[1] = 00103ca8
|
|
MAP_LgBlks freed 2 block
|
|
MAP_LgBlks used 0 blocks
|
|
===================================================================
|
|
printPointers: p[0] = 00000000, p[1] = 00000000,
|
|
===================================================================
|
|
Starts HelperTask
|
|
Function testMapGetAllBlocks
|
|
MAP_LgBlks used 0 blocks
|
|
task_mem_map_alloc OK, p[0] = 00103ca8
|
|
MAP_LgBlks used 1 blocks
|
|
task_mem_map_alloc OK, p[1] = 001040a8
|
|
MAP_LgBlks used 2 blocks
|
|
task_mem_map_alloc RC_FAIL expected as all (2) blocks are used.
|
|
===================================================================
|
|
RegressionTask: task_mem_map_alloc timeout expected
|
|
RegressionTask: start to wait for block
|
|
HelperTask: About to free a memory block
|
|
RegressionTask: task_mem_map_alloc OK, block allocated at 00103ca8
|
|
RegressionTask: start to wait for block
|
|
HelperTask: About to free another memory block
|
|
RegressionTask: task_mem_map_alloc OK, block allocated at 00000000
|
|
HelperTask: freed all blocks allocated by this task
|
|
===================================================================
|
|
PASS - HelperTask.
|
|
RegressionTask: Used 1 block
|
|
RegressionTask: 1 block freed, used 0 block
|
|
===================================================================
|
|
PASS - RegressionTask.
|
|
===================================================================
|
|
PROJECT EXECUTION SUCCESSFUL
|