56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
|
Title: Atomic Operations
|
||
|
|
||
|
Description:
|
||
|
|
||
|
This test verifies that atomic operations manipulate data as expected.
|
||
|
They currently do not test atomicity.
|
||
|
|
||
|
---------------------------------------------------------------------------
|
||
|
|
||
|
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:
|
||
|
|
||
|
tc_start() - Test atomic operation primitives
|
||
|
Test atomic_cas()
|
||
|
Test atomic_add()
|
||
|
Test atomic_sub()
|
||
|
Test atomic_inc()
|
||
|
Test atomic_dec()
|
||
|
Test atomic_get()
|
||
|
Test atomic_set()
|
||
|
Test atomic_clear()
|
||
|
Test atomic_or()
|
||
|
Test atomic_xor()
|
||
|
Test atomic_and()
|
||
|
Test atomic_nand()
|
||
|
Test atomic_test_bit()
|
||
|
Test atomic_test_and_clear_bit()
|
||
|
Test atomic_test_and_set_bit()
|
||
|
Test atomic_clear_bit()
|
||
|
Test atomic_set_bit()
|
||
|
===================================================================
|
||
|
PASS - main.
|
||
|
===================================================================
|
||
|
PROJECT EXECUTION SUCCESSFUL
|