-
Notifications
You must be signed in to change notification settings - Fork 566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mtetest: Add a series of tests for the mte instruction set #2875
Conversation
[Experimental Bot, please feedback here] This PR appears to mostly meet the NuttX requirements, but is missing some key information. Here's a breakdown: Strengths:
Weaknesses:
Recommendations for Improvement:
By addressing these points, the PR will be significantly improved and easier for reviewers to evaluate. |
Added basic mte instructions, ldg, stg, irg, gmi instruction tests ➜ NX git:(master) ✗ qemu-system-aarch64 -cpu max -nographic \ -machine virt,virtualization=on,gic-version=3,mte=on \ -chardev stdio,id=con,mux=on, -serial chardev:con \ -mon chardev=con,mode=readline -kernel ./nuttx/nuttx - Ready to Boot Primary CPU - Boot from EL2 - Boot from EL1 - Boot to C runtime for OS Initialize NuttShell (NSH) nsh> nsh> nsh> mtetest Spawning process for test: mtetest1 Running test: mtetest1 Test 'mtetest1' completed Spawning process for test: mtetest2 Running test: mtetest2 Test 'mtetest2' completed Spawning process for test: mtetest3 Running test: mtetest3 Test 'mtetest3' completed Spawning process for test: mtetest4 Running test: mtetest4 Test 'mtetest4' completed Spawning process for test: mtetest5 Running test: mtetest5 Test 'mtetest5' completed All tests completed. nsh> Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
|
||
MAINSRC = mtetest.c | ||
PROGNAME = mtetest | ||
PRIORITY = $(CONFIG_TESTING_KASAN_PRIORITY) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why reference KASAN setting?
****************************************************************************/ | ||
|
||
#define MTETEST_BUFFER_LEN 512 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add private type section
|
||
for (i = 0; i < size; i += 16) | ||
{ | ||
asm("ldg %0, [%1]" : "=r"(c) : "r"(p + i), "0"(p)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why need "0"(p)
?
Summary
Added basic mte instructions, ldg, stg, irg, gmi instruction tests
➜ NX git:(master) ✗ qemu-system-aarch64 -cpu max -nographic
-machine virt,virtualization=on,gic-version=3,mte=on
-chardev stdio,id=con,mux=on, -serial chardev:con
-mon chardev=con,mode=readline -kernel ./nuttx/nuttx
NuttShell (NSH)
nsh>
nsh>
nsh> mtetest
Spawning process for test: mtetest1
Running test: mtetest1
Test 'mtetest1' completed
Spawning process for test: mtetest2
Running test: mtetest2
Test 'mtetest2' completed
Spawning process for test: mtetest3
Running test: mtetest3
Test 'mtetest3' completed
Spawning process for test: mtetest4
Running test: mtetest4
Test 'mtetest4' completed
Spawning process for test: mtetest5
Running test: mtetest5
Test 'mtetest5' completed
All tests completed.
nsh>
Impact
Depends on apache/nuttx#14978
Testing