Created
January 15, 2024 04:40
-
-
Save lupyuen/842f8199f7260ed467492f837d8acee7 to your computer and use it in GitHub Desktop.
NuttX on Ox64: ostest log
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[I][] | |
[I][] ____ ____ __ __ _ | |
[I][] / __ \ | _ \ / _|/ _| | | | |
[I][] | | | |_ __ ___ _ __ | |_) | ___ _ _| |_| |_ __ _| | ___ | |
[I][] | | | | '_ \ / _ \ '_ \| _ < / _ \| | | | _| _/ _` | |/ _ \ | |
[I][] | |__| | |_) | __/ | | | |_) (_) | |_| | | | || (_| | | (_) | | |
[I][] \____/| .__/ \___|_| |_|____/ \___/ \__,_|_| |_| \__,_|_|\___/ | |
[I][] | | | |
[I][] |_| | |
[I][] | |
[I][] Powered by BouffaloLab | |
[I][] Build:11:52:04,Mar 6 2023 | |
[I][] Copyright (c) 2023 OpenBouffalo team | |
[I][] Copyright (c) 2022 Bouffalolab team | |
[I][] dynamic memory init success,heap s[I][LowLoad] D0 start... | |
[I][LowLoad] low_load start... | |
[I][LowLoad] Header at 0x5d5ff000 | |
[I][LowLoad] Section dtb(1) - Start 0x5d5ff100, Size 14314 | |
[I][LowLoad] Copying DTB to 0x51ff8000...0x51ffb7ea | |
[I][LowLoad] Done | |
[I][LowLoad] Section OpenSBI(2) - Start 0x5d60f100, Size 109864 | |
[I][LowLoad] Copying OpenSBI to 0x3ef80000...0x3ef9ad28 | |
[I][LowLoad] Done! | |
[I][LowLoad] Section Kernel(3) - Start 0x5d62f100, Size 315597 | |
[I][LowLoad] Uncompressing Kernel to 0x50000000... | |
[I][LowLoad] Done! | |
[I][LowLoad] CRC: 00000000 | |
[I][LowLoad] load time: 61309 us | |
[I][LowLoad] Setting PMP | |
[I][LowLoad] Booting OpenSBI at 0x000000003ef80000 with DTB at 0x51ff8000 | |
OpenSBI v1.2 | |
____ _____ ____ _____ | |
/ __ \ / ____| _ \_ _| | |
| | | |_ __ ___ _ __ | (___ | |_) || | | |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | | | |
| |__| | |_) | __/ | | |____) | |_) || |_ | |
\____/| .__/ \___|_| |_|_____/|____/_____| | |
| | | |
|_| | |
Platform Name : Pine64 Ox64 (D0) | |
Platform Features : medeleg | |
Platform HART Count : 1 | |
Platform IPI D : aclint-mswi | |
Platform Timer aclint-mtimer @ 1000000Hz | |
Platform Console Device : bflb_uart | |
Platform HSM Device : --- | |
Platform PMU Device : --- | |
Platform Reboot Device : --- | |
Platform Shutdown Device : --- | |
Firmware Base : 0x3ef80000 | |
Firmware Size : 200 KB | |
Runtime SBI Version : 1.0 | |
Domain0 Name : root | |
Domain0 Boot HART : 0 | |
Domain0 HARTs : 0* | |
Domain0 Region00 : 0x00000000e4008000-0x00000000e400bfff (I) | |
Domain0 Region01 : 0x00000000e4000000-0x00000000e4007fff (I) | |
Domain0 Region02 : 0x000000003ef80000-0x000000003efbffff () | |
Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff (R,W,X) | |
Domain0 Next Address : 0x0000000050000000 | |
Domain0 Next Arg1 : 0x0000000051ff8000 | |
Domain0 Next Mode : S-mode | |
Domain0 SysReset : yes | |
Boot HART ID : 0 | |
Boot HART Domain : root | |
Boot HART Priv Version : v1.11 | |
Boot HART Base ISA : rv64imafdcvx | |
Boot HART ISA Extensions : time | |
Boot HART PMP Count : 8 | |
Boot HART PMP Granularity : 4096 | |
Boot HART PMP Address Bits: 38 | |
Boot HART MHPM Count : 8 | |
Boot HART MIDELEG : 0x0000000000000222 | |
Boot HART MEDELEG : 0x000000000000b109 | |
U-Boot 2023.04-rc2 (Mar 06 2023 - 11:48:40 +0000) | |
DRAM: 64 MiB | |
Core: 36 devices, 17 uclasses, devicetree: board | |
MMC: mmc@20060000: 0 | |
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:2... | |
Loading Environment from nowhere... OK | |
In: serial@30002000 | |
Out: serial@30002000 | |
Err: serial@30002000 | |
Net: | |
Warning: emac@20070000 (eth0) using random MAC address - ee:fc:af:ba:76:be | |
eth0: emac@20070000 | |
Hit any key to stop autoboot: 0 | |
switch to partitions #0, OK | |
mmc0 is current device | |
Scanning mmc 0:2... | |
Found /extlinux/extlinux.conf | |
Retrieving file: /extlinux/extlinux.conf | |
Select the boot mode | |
1:.Pine64 0X64 Kernel | |
2:.Sipeed M1SDock Kernel | |
Enter choice: 1:.Pine64 0X64 Kernel | |
Retrieving file: /extlinux/../Image | |
append: root=PARTLABEL=rootfs rootwait rw rootfstype=ext4 console=ttyS0,2000000 loglevel=8 earlycon=sbi | |
Retrieving file: /extlinux/../bl808-pine64-ox64.dtb | |
## Flattened Device Tree blob at 51ff8000 | |
Booting using the fdt blob at 0x51ff8000 | |
Working FDT set to 51ff8000 | |
Loading Device Tree to 0000000053f22000, end 0000000053f25fab ... OK | |
Working FDT set to 53f22000 | |
Starting kernel ... | |
ABC | |
NuttShell (NSH) NuttX-12.4.0-RC0 | |
nsh> uname -a | |
NuttX 12.4.0-RC0 fe5ca39 Jan 15 2024 12:30:29 risc-v ox64 | |
nsh> | |
nsh> ostest | |
stdio_test: write fd=1 | |
stdio_test: Standard I/O Check: printf | |
stdio_test: write fd=2 | |
stdio_test: Standard I/O Check: fprintf to stder | |
ostest_main: putenv(Variable1=BadValue3) | |
ostest_main: setenv(Variable1, GoodValue1, TRUE) | |
ostest_main: setenv(Variable2, BadValue1, FALSE) | |
ostest_main: setenv(Variable2, GoodValue2, TRUE) | |
ostest_main: setenv(Variable3, GoodValue3, FALSE) | |
ostest_main: setenv(Variable3, BadValue2, FALSE) | |
show_variable: Variable=Variable1 has value=GoodValue1 | |
show_variable: Variable=Variable2 has value=GoodValue2 | |
show_variable: Variable=Variable3 has value=GoodValue3 | |
ostest_main: Started user_main at PID=7 | |
user_main: Begin argument test | |
user_main: Started with argc=5 | |
user_main: argv[0]="user_main" | |
user_main: argv[1]="Arg1" | |
user_main: argv[2]="Arg2" | |
user_main: argv[3]="Arg3" | |
user_main: argv[4]="Arg4" | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 2 | |
mxordblk 7cff0 7cff0 | |
uordblks 2658 2658 | |
fordblks 7e9a0 7e9a0 | |
user_main: getopt() test | |
getopt(): Simple test | |
getopt(): Invalid argument | |
getopt(): Missing optional argument | |
getopt_long(): Simple test | |
getopt_long(): No short options | |
getopt_long(): Argument for --option=argument | |
getopt_long(): Invalid long option | |
getopt_long(): Mixed long and short options | |
getopt_long(): Invalid short option | |
getopt_long(): Missing optional arguments | |
getopt_long_only(): Mixed long and short options | |
getopt_long_only(): Single hyphen long options | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 2 | |
mxordblk 7cff0 7cff0 | |
uordblks 2658 2658 | |
fordblks 7e9a0 7e9a0 | |
show_variable: Variable=Variable1 has value=GoodValue1 | |
show_variable: Variable=Variable2 has value=GoodValue2 | |
show_variable: Variable=Variable3 has value=GoodValue3 | |
show_variable: Variable=Variable1 has no value | |
show_variable: Variable=Variable2 has value=GoodValue2 | |
show_variable: Variable=Variable3 has value=GoodValue3 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 3 | |
mxordblk 7cff0 7cff0 | |
uordblks 2658 2638 | |
fordblks 7e9a0 7e9c0 | |
show_variable: Variable=Variable1 has no value | |
show_variable: Variable=Variable2 has no value | |
show_variable: Variable=Variable3 has no value | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 2 | |
mxordblk 7cff0 7cff0 | |
uordblks 2638 2578 | |
fordblks 7e9c0 7ea80 | |
user_main: setvbuf test | |
setvbuf_test: Test NO buffering | |
setvbuf_test: Using NO buffering | |
setvbuf_test: Test default FULL buffering | |
setvbuf_test: Using default FULL buffering | |
setvbuf_test: Test FULL buffering, buffer size 64 | |
setvbuf_test: Using FULL buffering, buffer size 64 | |
setvbuf_test: Test FULL buffering, pre-allocated buffer | |
setvbuf_test: Using FULL buffering, pre-allocated buffer | |
setvbuf_test: Test LINE buffering, buffer size 64 | |
setvbuf_test: Using LINE buffering, buffer size 64 | |
setvbuf_test: Test FULL buffering, pre-allocated buffer | |
setvbuf_test: Using FULL buffering, pre-allocated buffer | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 2 | |
mxordblk 7cff0 7cff0 | |
uordblks 2578 2578 | |
fordblks 7ea80 7ea80 | |
user_main: /dev/null test | |
dev_null: Read 0 bytes from /dev/null | |
dev_null: Wrote 1024 bytes to /dev/null | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 2 | |
mxordblk 7cff0 7cff0 | |
uordblks 2578 2578 | |
fordblks 7ea80 7ea80 | |
user_main: mutex test | |
Initializing mutex | |
Starting thread 1 | |
Starting thread 2 | |
..Thread1.Thread2 | |
.Loops.32.32 | |
.Errors.0.0 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 4 | |
mxordblk 7cff0 787f0 | |
uordblks 2578 3598 | |
fordblks 7ea80 7da60 | |
user_main: timed mutex test | |
mutex_test: Initializing mutex | |
mutex_test: Starting thread | |
pthread: Started | |
pthread: Waiting for lock or timeout | |
mutex_test: Unlocking | |
pthread: Got the lock | |
pthread: Waiting for lock or timeout | |
pthread: Got the timeout. Terminating | |
mutex_test: PASSED | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 4 3 | |
mxordblk 787f0 7a7f0 | |
uordblks 3598 2d88 | |
fordblks 7da60 7e270 | |
user_main: cancel test | |
cancel_test: Test 1a: Normal Cancellation | |
cancel_test: Starting thread | |
start_thread: Initializing mutex | |
start_thread: Initializing cond | |
start_thread: Starting thread | |
start_thread: Yielding | |
sem_waiter: Taking mutex | |
sem_waiter: Startingwait for condition | |
cancel_test: Canceling thread | |
cancel_test: Joining | |
cancel_test: waiter exited with result=0xffffffffffffffff | |
cancel_test: PASS thread terminated with PTHREAD_CANCELED | |
cancel_test: Test 2: Asynchronous Cancellation | |
... Skipped | |
cancel_test: Test 3: Cancellation of detached thread | |
cancel_test: Re-starting thread | |
restart_thread: Destroying cond | |
restart_thread: Destroying mutex | |
restart_thread: Re-starting thread | |
start_thread: Initializing mutex | |
start_thread: Initializing cond | |
start_thread: Starting thread | |
start_thread: Yielding | |
sem_waiter: Taking mutex | |
sem_waiter: Starting wait for condition | |
cancel_test: Canceling thread | |
cancel_test: Joining | |
cancel_test: PASS pthread_join failed with status=ESRCH | |
cancel_test: Test 5: Non-cancelable threads | |
cancel_test: Re-starting thread (non-cancelable) | |
restart_thread: Destroying cond | |
restart_thread: Destroying mutex | |
restart_thread: Re-starting thread | |
start_thread: Initializing mutex | |
start_thread: Initializing cond | |
start_thread: Starting thread | |
start_thread: Yielding | |
sem_waiter: Taking mutex | |
sem_waiter: Starting wait for condition | |
sem_waiter: Setting non-cancelable | |
cancel_test: Canceling thread | |
cancel_test: Joining | |
sem_waiter: Releasing mutex | |
sem_waiter: Setting cancelable | |
cancel_test: waiter exited with result=0xffffffffffffffff | |
cancel_test: PASS thread terminated with PTHREAD_CANCELED | |
cancel_test: Test 6: Cancel message queue wait | |
cancel_test: Starting thread (canclable) | |
Skipped | |
cancel_test: Test 7: Cancel signal wait | |
cancel_test: Starting thread (cancelable) | |
Skipped | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 3 | |
mxordblk 7a7f0 78ff0 | |
uordblks 2d88 4588 | |
fordblks 7e270 7ca70 | |
user_main: robust test | |
robust_test: Initializing mutex | |
robust_test: Starting thread | |
robust_waiter: Taking mutex | |
robust_waiter: Exiting with mutex | |
robust_test: Take the lock again | |
robust_test: Make the mutex consistent again. | |
robust_test: Take the lock again | |
robust_test: Joining | |
robust_test: waiter exited with result=0 | |
robust_test: Test complete with nerrors=0 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 3 | |
mxordblk 78ff0 78ff0 | |
uordblks 4588 4588 | |
fordblks 7ca70 7ca70 | |
user_main: semaphore test | |
sem_test: Initializing semaphore to 0 | |
sem_test: Starting waiter thread 1 | |
sem_test: Set thread 1 priority to 191 | |
waiter_func: Thread 1 Started | |
waiter_func: Thread 1 initial semaphore value = 0 | |
waiter_func: Thread 1 waiting on semaphore | |
sem_test: Starting waiter thread 2 | |
sem_test: Set thread 2 priority to 128 | |
waiter_func: Thread 2 Started | |
waiter_func: Thread 2 initial semaphore value = -1 | |
waiter_func: Thread 2 waiting on semaphore | |
sem_test: Starting poster thread 3 | |
sem_test: Set thread 3 priority to 64 | |
poster_func: Thread 3 started | |
poster_func: Thread 3 semaphore value = -2 | |
poster_func: Thread 3 posting semaphore | |
waiter_func: Thread 1 awakened | |
waiter_func: Thread 1 new semaphore value = -1 | |
waiter_func: Thread 1 done | |
poster_func: Thread 3 new semaphore value = -1 | |
poster_func: Thread 3 semaphore value = -1 | |
poster_func: Thread 3 posting semaphore | |
waiter_func: Thread 2 awakened | |
waiter_func: Thread 2 new semaphore value = 0 | |
waiter_func: Thread 2 done | |
poster_func: Thread 3 new semaphore value = 0 | |
poster_func: Thread 3 done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 5 | |
mxordblk 78ff0 767f0 | |
uordblks 4588 3da8 | |
fordblks 7ca70 7d250 | |
user_main: timed semaphore test | |
semtimed_test: Initializing semaphore to 0 | |
semtimed_test: Waiting for two second timeout | |
semtimed_test: PASS: first test returned timeout | |
BEFORE: (31 sec, 872000000 nsec) | |
AFTER: (33 sec, 873000000 nsec) | |
semtimed_test: Starting poster thread | |
semtimed_test: Set thread 1 priority to 191 | |
semtimed_test: Starting poster thread 3 | |
semtimed_test: Set thread 3 priority to 64 | |
semtimed_test: Waiting for two second timeout | |
poster_func: Waiting for 1 second | |
poster_func: Posting | |
semtimed_test: PASS: sem_timedwait succeeded | |
BEFORE: (33 sec, 897000000 nsec) | |
AFTER: (34 sec, 903000000 nsec) | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 5 3 | |
mxordblk 767f0 7a7f0 | |
uordblks 3da8 2d88 | |
fordblks 7d250 7e270 | |
user_main: condition variable test | |
cond_test: Initializing mutex | |
cond_test: Initializing cond | |
cond_test: Starting waiter | |
cond_test: Set thread 1 priority to 128 | |
waiter_thread: Started | |
cond_test: Starting signaler | |
cond_test: Set thread 2 priority to 64 | |
thread_signaler: Started | |
thread_signaler: Terminating | |
cond_test: signaler terminated, now cancel the waiter | |
cond_test: .Waiter.Signaler | |
cond_test: Loops.32.32 | |
cond_test: Errors.0.0 | |
cond_test: | |
cond_test: 0 times, waiter did not have to wait for data | |
cond_test: 0 times, data was already available when the signaler run | |
cond_test: 0 times, the waiter was in an unexpected state when the signaler ran | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 3 | |
mxordblk 7a7f0 787f0 | |
uordblks 2d88 2d88 | |
fordblks 7e270 7e270 | |
user_main: pthread_exit() test | |
pthread_exit_test: Started pthread_exit_main at PID=44 | |
pthread_exit_main 44: Starting pthread_exit_thread | |
pthread_exit_main 44: Sleeping for 5 seconds | |
pthread_exit_thread 45: Sleeping for 10 second | |
pthread_exit_main 44: Calling pthread_exit() | |
pthread_exit_thread 45: Still running... | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 4 | |
mxordblk 787f0 767f0 | |
uordblks 2d88 4d98 | |
fordblks 7e270 7c260 | |
user_main: pthread_rwlock test | |
pthread_rwlock: Initializing rwlock | |
pthread_exit_thread 45: Exiting | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 4 5 | |
mxordblk 767f0 747f0 | |
uordblks 4d98 3da8 | |
fordblks 7c260 7d250 | |
user_main: pthread_rwlock_cancel test | |
pthread_rwlock_cancel: Starting test | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 5 2 | |
mxordblk 747f0 7cff0 | |
uordblks 3da8 2578 | |
fordblks 7d250 7ea80 | |
user_main: timed wait test | |
thread_waiter: Initializing mutex | |
timedwait_test: Initializing cond | |
timedwait_test: Starting waiter | |
timedwait_test: Set thread 2 priority to 177 | |
thread_waiter: Taking mutex | |
thread_waiter: Starting 5 second wait for condition | |
timedwait_test: Joining | |
thread_waiter: pthread_cond_timedwait timed out | |
thread_waiter: Releasing mutex | |
thread_waiter: Exit with status 0x12345678 | |
timedwait_test: waiter exited with result=0x12345678 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 3 | |
mxordblk 7cff0 7a7f0 | |
uordblks 2578 2d88 | |
fordblks 7ea80 7e270 | |
user_main: message queue test | |
mqueue_test: Starting receiver | |
mqueue_test: Set receiver priority to 128 | |
receiver_thread: Starting | |
mqueue_test: Starting sender | |
mqueue_test: Set sender thread priority to 64 | |
mqueue_test: Waiting for sender to complete | |
sender_thread: Starting | |
receiver_thread: mq_receive succeeded on msg 0 | |
sender_thread: mq_send succeeded on msg 0 | |
receiver_thread: mq_receive succeeded on msg 1 | |
sender_thread: mq_send succeeded on msg | |
receiver_thread: mq_receive succeeded on msg 2 | |
sender_thread: mq_send succeeded on msg 2 | |
receiver_thread: mq_receive succeeded on msg 3 | |
sender_thread: mq_send succeeded on msg 3 | |
receiver_thread: mq_receive succeeded on msg 4 | |
sender_thread: mq_send succeeded on msg 4 | |
receiver_thread: mq_receive succeeded on msg 5 | |
sender_thread: mq_send succeeded on msg 5 | |
receiver_thread: mq_receive succeeded on msg 6 | |
sender_thread: mq_send succeeded on msg 6 | |
receiver_thread: mq_receive succeeded on msg 7 | |
sender_thread: mq_send succeeded on msg 7 | |
receiver_thread: mq_receive succeeded on msg 8 | |
sender_thread: mq_send succeeded on msg 8 | |
receiver_thread: mq_receive succeeded on msg 9 | |
sender_thread: mq_send succeeded on msg 9 | |
sender_thread: returning nerrors=0 | |
mqueue_test: Killing receiver | |
receiver_thread: mq_receive interrupted! | |
receiver_thread: returning nerrors=0 | |
mqueue_test: Canceling receiver | |
mqueue_test: receiver has already terminated | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 4 | |
mxordblk 7a7f0 74ff0 | |
uordblks 2d88 6598 | |
fordblks 7e270 7aa60 | |
user_main: timed message queue test | |
timedmqueue_test: Starting sender | |
timedmqueue_test: Waiting for sender to complete | |
sender_thread: Starting | |
sender_thread: mq_timedsend succeeded on msg 0 | |
sender_thread: mq_timedsend succeeded on msg 1 | |
sender_thread: mq_timedsend succeeded on msg 2 | |
sender_thread: mq_timedsend succeeded on msg 3 | |
sender_thread: mq_timedsend succeeded on msg 4 | |
sender_thread: mq_timedsend succeeded on msg 5 | |
sender_thread: mq_timedsend succeeded on msg 6 | |
sender_thread: mq_timedsend succeeded on msg 7 | |
sender_thread: mq_timedsend succeeded on msg 8 | |
sender_thread: mq_timedsend 9 timed out as expected | |
sender_thread: returning nerrors=0 | |
timedmqueue_test: Starting receiver | |
timedmqueue_test: Waiting for receiver to complete | |
receiver_thread: Starting | |
receiver_thread: mq_timedreceive succeed on msg 0 | |
receiver_thread: mq_timedreceive succeed on msg 1 | |
receiver_thread: mq_timedreceive succeed on msg 2 | |
receiver_thread: mq_timedreceive succeed on msg 3 | |
receiver_thread: mq_timedreceive succeed on msg 4 | |
receiver_thread: mq_timedreceive succeed on msg 5 | |
receiver_thread: mq_timedreceive succeed on msg 6 | |
receiver_thread: mq_timedreceive succeed on msg 7 | |
receiver_thread: mq_timedreceive succeed on msg 8 | |
receiver_thread: Receive 9 timed out as expected | |
receiver_thread: returning nerrors=0 | |
timedmqueue_test: Test complete | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 4 3 | |
mxordblk 74ff0 78ff0 | |
uordblks 6598 4588 | |
fordblks 7aa60 7ca70 | |
user_main: sigprocmask test | |
sigprocmask_test: SUCCESS | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 3 | |
mxordblk 78ff0 78ff0 | |
uordblks 4588 4588 | |
fordblks 7ca70 7ca70 | |
user_main: signal handler test | |
sighand_test: Initializing semaphore to 0 | |
sighand_test: Starting waiter task | |
sighand_test: Started waiter_main pid=82 | |
waiter_main: Waiter started | |
waiter_main: Unmasking signal 32 | |
waiter_main: Registering signal handler | |
waiter_main: oact.sigaction=0 oact.sa_flags=0 oact.sa_mask=0000000000000000 | |
waiter_main: Waiting on semaphore | |
sighand_test: Signaling pid=82 with signo=32 sigvalue=42 | |
waiter_main: sem_wait() successfully interrupted by signal | |
waiter_main: done | |
sighand_test: done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 3 | |
mxordblk 78ff0 78ff0 | |
uordblks 4588 4588 | |
fordblks 7ca70 7ca70 | |
user_main: nested signal handler test | |
signest_test: Starting signal waiter task at priority 101 | |
waiter_main: Waiter started | |
waiter_main: Setting signal mask | |
waiter_main: Registering signal handler | |
waiter_main: Waiting on semaphore | |
signest_test: Started waiter_main pid=84 | |
signest_test: Starting interfering task at priority 102 | |
interfere_main: Waiting on semaphore | |
signest_test: Started interfere_main pid=85 | |
signest_test: Simple case: | |
Total signalled 1240 Odd=620 Even=620 | |
Total handled 1240 Odd=620 Even=620 | |
Total nested 0 Odd=0 Even=0 | |
signest_test: With task locking | |
Total signalled 2480 Odd=1240 Even=1240 | |
Total handled 2480 Odd=1240 Even=1240 | |
Total nested 0 Odd=0 Even=0 | |
signest_test: With intefering thread | |
Total signalled 3720 Odd=1860 Even=1860 | |
Total handled 3720 Odd=1860 Even=1860 | |
Total nested 0 Odd=0 Even=0 | |
signest_test: done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 3 4 | |
mxordblk 78ff0 74ff0 | |
uordblks 4588 6598 | |
fordblks 7ca70 7aa60 | |
user_main: POSIX timer test | |
timer_test: Initializing semaphore to 0 | |
timer_test: Unmasking signal 32 | |
timer_test: Registering signal handler | |
timer_test: oact.sigaction=0x8000836e oact.sa_flags=0 oact.sa_mask=2aaaaaaaaaaaaaaa | |
timer_test: Creating timer | |
timer_test: Starting timer | |
timer_test: Waiting on semaphore | |
timer_expiration: Received signal 32 | |
timer_expiration: sival_int=42 | |
timer_expiration: si_code=2 (SI_TIMER) | |
timer_expiration: ucontext=0 | |
timer_test: sem_wait() successfully interrupted by signal | |
timer_test: g_nsigreceived=1 | |
timer_test: Waiting on semaphore | |
timer_expiration: Received signal 32 | |
timer_expiration: sival_int=42 | |
timer_expiration: si_code=2 (SI_TIMER) | |
timer_expiration: ucontext=0 | |
timer_test: sem_wait() successfully interrupted by signal | |
timer_test: g_nsigreceived=2 | |
timer_test: Waiting on semaphore | |
timer_expiration: Received signal 32 | |
timer_expiration: sival_int=42 | |
timer_expiration: si_code=2 (SI_TIMER) | |
timer_expiration: ucontext=0 | |
timer_test: sem_wait() successfully interrupted by signal | |
timer_test: g_nsigreceived=3 | |
timer_test: Waiting on semaphore | |
timer_expiration: Received signal 32 | |
timer_expiration: sival_int=42 | |
timer_expiration: si_code=2 (SI_TIMER) | |
timer_expiration: ucontext=0 | |
timer_test: sem_wait() successfully interrupted by signal | |
timer_test: g_nsigreceived=4 | |
timer_test: Waiting on semaphore | |
timer_expiration: Received signal 32 | |
timer_expiration: sival_int=42 | |
timer_expiration: si_code=2 (SI_TIMER) | |
timer_expiration: ucontext=0 | |
timer_test: sem_wait() successfully interrupted by signal | |
timer_test: g_nsigreceived=5 | |
timer_test: Deleting timer | |
timer_test:done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 4 4 | |
mxordblk 74ff0 74ff0 | |
uordblks 6598 6598 | |
fordblks 7aa60 7aa60 | |
user_main: round-robin scheduler test | |
rr_test: Set thread priority to 1 | |
rr_test: Set thread policy to SCHED_RR | |
rr_test: Starting first get_primes_thread | |
First get_primes_thread: 90 | |
rr_test: Starting second get_primes_thread | |
Second get_primes_thread: 92 | |
rr_test: Waiting for threads to complete -- this should take awhile | |
If RR scheduling is working, they should start and complete at | |
about the same time | |
get_primes_thread id=1 started, looking for primes < 10000, doing 10 run(s) | |
get_primes_thread id=2 started, looking for primes < 10000, doing 10 run(s) | |
get_primes_thread id=1 finished, found 1230 primes, last one was 9973 | |
get_primes_thread id=2 finished, found 1230 primes, last one was 9973 | |
rr_test: Done | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 4 4 | |
mxordblk 74ff0 787f0 | |
uordblks 6598 3598 | |
fordblks 7aa60 7da60 | |
user_main: barrier test | |
barrier_test: Initializing barrier | |
barrier_test: Thread 0 created | |
barrier_test: Thread 1 created | |
barrier_test: Thread 2 created | |
barrier_test: Thread 3 created | |
barrier_test: Thread 4 created | |
barrier_test: Thread 5 created | |
barrier_test: Thread 6 created | |
barrier_test: Thread 7 created | |
barrier_func: Thread 0 started | |
barrier_func: Thread 1 started | |
barrier_func: Thread 2 started | |
barrier_func: Thread 3 started | |
barrier_func: Thread 4 started | |
barrier_func: Thread 5 started | |
barrier_func: Thread 6 started | |
barrier_func: Thread 7 started | |
barrier_func: Thread 0 calling pthread_barrier_wait() | |
barrier_func: Thread 1 calling pthread_barrier_wait() | |
barrier_func: Thread 2 calling pthread_barrier_wait() | |
barrier_func: Thread 3 calling pthread_barrier_wait() | |
barrier_func: Thread 4 calling pthread_barrier_wait() | |
barrier_func: Thread 5 calling pthread_barrier_wait() | |
barrier_func: Thread 6 calling pthread_barrier_wait() | |
barrier_func: Thread 7 calling pthread_barrier_wait() | |
barrier_func: Thread 7, back with status=PTHREAD_BARRIER_SERIAL_THREAD (I AM SPECIAL) | |
barrier_func: Thread 0, back with status=0 (I am not special) | |
barrier_func: Thread 1, back with status=0 (I am not special) | |
barrier_func: Thread 2, back with status=0 (I am not special) | |
barrier_func: Thread 3, back with status=0 (I am not special) | |
barrier_func: Thread 4, back with status=0 (I am not special) | |
barrier_func: Thread 5, back with status=0 (I am not special) | |
barrier_func: Thread 6, back with status=0 (I am not special) | |
barrier_func: Thread 7 done | |
barrier_func: Thread 0 done | |
barrier_test: Thread 0 completed with result=0 | |
barrier_func: Thread 1 done | |
barrier_func: Thread 2 done | |
barrier_test: Thread 1 completed with result=0 | |
barrier_test: Thread 2 completed with result=0 | |
barrier_func: Thread 3 done | |
barrier_func: Thread 4 done | |
barrier_func: Thread 5 done | |
barrier_test: Thread 3 completed with result=0 | |
barrier_func: Thread 6 done | |
barrier_test: Thread 4 completed with result=0 | |
barrier_test: Thread 5 completed with result=0 | |
barrier_test: Thread 6 completed with result=0 | |
barrier_test: Thread 7 completed with result=0 | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 4 10 | |
mxordblk 787f0 6c7f0 | |
uordblks 3598 65f8 | |
fordblks 7da60 7aa00 | |
user_main: scheduler lock test | |
sched_lock: Starting lowpri_thread at 97 | |
sched_lock: Set lowpri_thread priority to 97 | |
sched_lock: Starting highpri_thread a 98 | |
sched_lock: Set highpri_thread priority to 98 | |
sched_lock: Waiting... | |
sched_lock: PASSED No pre-emption occurred while scheduler was locked. | |
sched_lock: Starting lowpri_thread at 97 | |
sched_lock: Set lowpri_thread priority to 97 | |
sched_lock: Starting highpri_thread at 98 | |
sched_lock: Set highpri_thread priority to 98 | |
sched_lock: Waiting... | |
sched_lock: PASSED No pre-emption occurred while scheduler was locked. | |
sched_lock: Finished | |
End of test memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 10 4 | |
mxordblk 6c7f0 787f0 | |
uordblks 65f8 3598 | |
fordblks 7aa00 7da60 | |
user_main: vfork() test DISABLED (CONFIG_BUILD_KERNEL) | |
Final memory usage: | |
VARIABLE BEFORE AFTER | |
======== ======== ======== | |
arena 80ff8 80ff8 | |
ordblks 2 4 | |
mxordblk 7cff0 787f0 | |
uordblks 2658 3598 | |
fordblks 7e9a0 7da60 | |
user_main: Exiting | |
ostest_main: Exiting with status -1 | |
nsh> | |
nsh> getprime | |
Set thread priority to 10 | |
Set thread policy to SCHED_RR | |
Start thread #0 | |
thread #0 started, looking for primes < 10000, doing 10 run(s) | |
thread #0 finished, found 1230 primes, last one was 9973 | |
Done | |
getprime took 15403 msec | |
nsh> | |
nsh> hello | |
riscv_exception: EXCEPTION: Store/AMO page fault. MCAUSE: 000000000000000f, EPC: 0000000050209134, MTVAL: 0000000080200000 | |
riscv_exception: PANIC!!! Exception = 000000000000000f | |
_assert: Current Version: NuttX 12.4.0-RC0 fe5ca39 Jan 15 2024 12:32:04 risc-v | |
_assert: Assertion failed panic: at file: common/riscv_exception.c:85 task: /system/bin/init process: /system/bin/init 0x8000004a | |
up_dump_register: EPC: 0000000050209134 | |
up_dump_register: A0: 0000000080200000 A1: 0000000000000000 A2: 00000000000002a8 A3: 00000000000002a8 | |
up_dump_register: A4: 0000000000000000 A5: 0000000080200000 A6: 0000000000000000 A7: 0000000000000000 | |
up_dump_reister: T0: 0000000000000003 T1: 0000000000000007 T2: 0000000000000020 T3: 00000000802002a8 | |
up_dump_register: T4: 0000000080200000 T5: 00000000000000ff T6: 000000000000000f | |
up_dump_register: S0: 0000000080200000 S1: 0000000000080d58 S2: 0000000000000000 S3: 0000000080202988 | |
up_dump_register: S4: 0000000000000001 S5: 00000000802008c8 S6: 000000005040e410 S7: 0000000000000000 | |
up_dump_register: S8: 0000000000000001 S9: 0000000000000000 S10: 0000000000000000 S11: 0000000000000000 | |
up_dump_register: SP: 000000005040b250 FP: 0000000080200000 TP: 0000000000000000 RA: 00000000502098d6 | |
dump_stack: Kernel Stack: | |
dump_stack: base: 0x5040aaf0 | |
dump_stack: size: 00003072 | |
dump_stack: sp: 0x5040b250 | |
stack_dump: 0x5040b230: 00000018 00000000 5021424a 00000000 50409900 00000000 5040b880 00000000 | |
stack_dump: 0x5040b250: 5040e410 00000000 80202988 00000000 50409e20 00000000 50409910 00000000 | |
stack_dump: 0x5040b270: 80200000 00000000 5020a2ee 00000000 00000000 00000000 5021406c 00000000 | |
stack_dump: 0x5040b290: 5040b318 00000000 80000000 00000000 80101000 00000000 00000000 00000000 | |
stack_dump: 0x5040b2b0: 5040ba70 00000000 5040b860 00000000 00000008 00000000 80200000 00000000 | |
stack_dump: 0x5040b2d0: 00000000 0000816d 464c457f 00010102 00000000 00000000 00f30001 00000001 | |
stack_dump: 0x5040b2f0: 0000001a 00000000 00000000 00000000 00081540 00000000 00000005 00000040 | |
stack_dump: 0x5040b310: 00400000 001c001d 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b330: 5040e410 00000000 5040b880 00000000 5040b860 00000000 fffffffc ffffffff | |
stack_dump: 0x5040b350: ffffff83 ffffffff 50407c00 00000000 50408190 00000000 50209a56 00000000 | |
stack_dump: 0x5040b370: 802008c8 00000000 50409e20 00000000 50407c00 00000000 50207c7c 00000000 | |
stack_dump: 0x5040b390: 50408190 00000000 50409e20 00000000 00000000 00000000 5020997a 00000000 | |
stack_dump: 0x5040b3b0: 00000000 00000000 50213f66 00000000 50409e10 00000000 00000064 00000000 | |
stack_dump: 0x5040b3d0: 80200570 00000000 80202a28 00000000 802008c8 00000000 00042022 00000002 | |
stack_dump: 0x5040b3f0: 80202988 00000000 50409e20 00000000 00000000 00000000 5021327c 00000000 | |
stack_dump: 0x5040b410: 00000000 00000000 00000000 00000000 0000000a 00000000 0000000b 00000000 | |
stack_dump: 0x5040b430: 80015d20 00000000 00000000 00000000 80202a28 00000000 80202a28 00000000 | |
stack_dump: 0x5040b450: 80202978 00000000 802008c8 00000000 00000000 00000000 50216dba 00000000 | |
stack_dump: 0x5040b470: 80202988 00000000 80200570 00000000 80202a9f 00000000 00000000 00000000 | |
stack_dump: 0x5040b490: 802008c8 00000000 00000000 00000000 802008c8 00000000 802005d0 00000000 | |
stack_dump: 0x5040b4b0: 00000000 00000000 5020751e 00000000 80202b40 00000000 5020143a 00000000 | |
stack_dump: 0x5040b4d0: 80004caa 00000000 5020019a 00000000 50201422 00000000 80004caa 00000000 | |
stack_dump: 0x5040b4f0: 5040b4e0 00000000 00000000 00000000 00000000 00000000 502071e4 00000000 | |
stack_dump: 0x5040b510: 80202988 00000000 00000020 00000000 00000000 00000000 802005d0 00000000 | |
stack_dump: 0x5040b530: 0000001b 00000000 80202978 00000000 802008c8 00000000 80202980 00000000 | |
stack_dump: 0x5040b550: 80202988 00000000 80202a28 00000000 80200570 00000000 80202a28 00000000 | |
stack_dump: 0x5040b570: 802008c8 00000000 00000000 00000000 80202a28 00000000 00000000 00000000 | |
stack_dump: 0x5040b590: 80015d20 00000000 0000000b 00000000 0000000a 00000000 00000000 00000000 | |
stack_dump: 0x5040b5b0: 00000000 00000000 00000000 00000000 80202980 00000000 802008c8 00000000 | |
stack_dump: 0x5040b5d0: 80202978 00000000 0000000f 00000000 00042120 00000002 00000000 00000000 | |
stack_dump: 0x5040b5f0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b610: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b630: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b650: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b670: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b690: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b6b0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b6d0: 00000000 00000000 50203380 00000000 00000000 00000000 00000000 00000000 | |
stack_dump: 0x5040b6f0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 | |
dump_tasks: PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACKBASE STACKSIZE USED FILLED COMMAND | |
dump_tasks: ---- --- --- -------- ------- --- ------- ---------- ---------------- 0x50400290 2048 968 47.2% irq | |
dump_task: 0 0 0 FIFO Kthread - Ready 0000000000000000 0x50407010 3056 1200 39.2% Idle_Task | |
dump_task: 1 1 100 RR Kthread - Waiting Semaphore 0000000000000000 0x5040a050 1968 864 43.9% lpwork 0x50401a90 0x50401ab8 | |
dump_task: 3 3 100 RR Task - Running 0000000000000000 0x80202040 3008 1272 42.2% /system/bin/init |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment