Midterm evaluation of atomic operation support for rtems

yangwei weiyang wei.a.yang at gmail.com
Tue Jul 10 10:57:31 UTC 2012


Sorry for forgetting attach the two scripts.

2012/7/10 yangwei weiyang <wei.a.yang at gmail.com>:
> Hi all,
>
> This is the status report about my project "atomic operation support
> for RTEMS".
>
> Done:
> 1. Atomic operation API design for RTEMS.
> 2. Atomic operation implementation for i386 architecture on RTEMS.
> 3. Seven test cases have been added and run successfully. These test
> cases include:
>    (1).Atomic load generic function with memory_order_relaxed option test case.
>    (2).Atomic store generic function with memory_order_relaxed option
> test case.
>    (3).Atomic_fetch-and-add generic function with memory_order_relaxed
> option test case.
>    (4).Atomic_fetch-and-sub generic function with memory_order_relaxed
> option test case.
>    (5).Atomic_fetch-and-and generic function with memory_order_relaxed
> option test case.
>    (6).Atomic_fetch-and-or generic function with memory_order_relaxed
> option test case.
>    (7).Atomic_compare_exchange generic function with
> memory_order_relaxed option test case.
>
> Todo:
> 1. Add test cases for all atomic operations with other two memory
> barrier types option
>    (memory_order_acquire and memory_order_release).
>
> Source code repository:
> https://github.com/WeiY/rtems.git
> branch:atomic
>
> How to build the RTEMS to test atomic operation:
> 1. cd ~/
> 2. git clone https://github.com/WeiY/rtems.git
> 3. git checkout  -b atomic origin/atomic
> 4. mkdir ~/rtems-build
> 5. mkdir ~/rtems-install
> 6. cd ~/rtems-build
> 7. ./build-atomic-rtems
> The test cases will be install the rtems-install directory.
>
> How to run atomic test cases on qemu:
> ./run-atomic-rtems.sh PATH/EXENAME.exe
> Before you run the script you must have rtems boot image under
> ${HOME}/qemu/pc386_fda and you must create a directory ${HOME}/qemu/hd
> to store your test case execute file.
>
>
> PS:
> 1. There are three types of memory barrier option in the atomic
> operation API definition.
>    (memory_order_acquire, memory_order_release and memory_order_relaxed)
>
> --
> Wei Yang
> Best Regards
>
> wei.a.yang at gmail.com



-- 
Wei Yang
Best Regards

wei.a.yang at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: run-atomic-rtems.sh
Type: application/x-sh
Size: 641 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20120710/2a41f37c/attachment-0002.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build-atomic-rtems.sh
Type: application/x-sh
Size: 433 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20120710/2a41f37c/attachment-0003.sh>


More information about the devel mailing list