Comments (7)
Do you see and trace print to the console? Like:
[+] TA create
[+] TA open session
from incubator-teaclave-trustzone-sdk.
No I did not get those info.
This is the full console output:
D/TC:? 0 tee_ta_init_pseudo_ta_session:284 Lookup pseudo TA 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 load_ldelf:703 ldelf load address 0x40006000
D/LD: ldelf:134 Loading TA 8aaaf200-2450-11e4-abe2-0002a5d5c51b
D/TC:? 0 tee_ta_init_session_with_context:573 Re-open TA 3a2f8978-5dc0-11e8-9c2d-fa7ae01bbebc
D/TC:? 0 system_open_ta_binary:257 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (Secure Storage TA)
D/TC:? 0 system_open_ta_binary:260 res=0xffff0008
D/TC:? 0 system_open_ta_binary:257 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (REE)
D/TC:? 0 system_open_ta_binary:260 res=0x0
D/LD: load_main:974 Reloading TA 8aaaf200-2450-11e4-abe2-0002a5d5c51b as legacy TA
D/TC:? 0 system_open_ta_binary:257 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (Secure Storage TA)
D/TC:? 0 system_open_ta_binary:260 res=0xffff0008
D/TC:? 0 system_open_ta_binary:257 Lookup user TA ELF 8aaaf200-2450-11e4-abe2-0002a5d5c51b (REE)
D/TC:? 0 system_open_ta_binary:260 res=0x0
D/TC:3 0 abort_handler:524 [abort] abort in User mode (TA will panic)
E/TC:? 0
E/TC:? 0 User TA data-abort at address 0x481b8dfc (translation fault)
E/TC:? 0 esr 0x92000006 ttbr0 0x200001018f060 ttbr1 0x00000000 cidr 0x0
E/TC:? 0 cpu #3 cpsr 0x40000100
E/TC:? 0 x0 0000000002060fcf x1 0000000000000003
E/TC:? 0 x2 0000000040034ec0 x3 0000000000000000
E/TC:? 0 x4 0000000000000000 x5 000000004000ca4f
E/TC:? 0 x6 0000000000021eb0 x7 0000000040034ecc
E/TC:? 0 x8 0000000000000007 x9 0000000040005e94
E/TC:? 0 x10 0000000000000000 x11 0000000000000000
E/TC:? 0 x12 0000000000000000 x13 0000000040005c68
E/TC:? 0 x14 0000000000000000 x15 0000000000000001
E/TC:? 0 x16 000000001011e4f4 x17 0000000000000000
E/TC:? 0 x18 8cff8c41aded7b9f x19 0000000002060fcf
E/TC:? 0 x20 0000000040011ef0 x21 0000000000000003
E/TC:? 0 x22 000000004000ca3f x23 0000000040005ef8
E/TC:? 0 x24 0000000040034ec0 x25 0000000040034e68
E/TC:? 0 x26 0000000000000000 x27 0000000000000000
E/TC:? 0 x28 0000000000000000 x29 0000000040005e00
E/TC:? 0 x30 00000000400094e8 elr 000000004000930c
E/TC:? 0 sp_el0 0000000040005e00
E/TC:? 0 region 0: va 0x0000000040000000 pa 0x0000000010102000 size 0x002000 flags ---R-X
E/TC:? 0 region 1: va 0x0000000040002000 pa 0x000000001017b000 size 0x001000 flags ---RW-
E/TC:? 0 region 2: va 0x0000000040004000 pa 0x0000000010800000 size 0x002000 flags rw-RW-
E/TC:? 0 region 3: va 0x0000000040006000 pa 0x0000000010802000 size 0x008000 flags r-x---
E/TC:? 0 region 4: va 0x000000004000e000 pa 0x000000001080a000 size 0x001000 flags rw-RW-
E/TC:? 0 region 5: va 0x000000004000f000 pa 0x000000001080b000 size 0x003000 flags rw-RW-
E/TC:? 0 region 6: va 0x0000000040012000 pa 0x000000001080e000 size 0x001000 flags r--R--
E/TC:? 0 region 7: va 0x0000000040013000 pa 0x000000001080f000 size 0x02f000 flags rwxRW-
E/TC:? 0 region 8: va 0x0000000040042000 pa 0x000000001083e000 size 0x001000 flags rw-RW-
E/TC:? 0 init_with_ldelf:228 ldelf panicked
D/TC:? 0 tee_ta_close_session:499 csess 0x10177ee0 id 1
D/TC:? 0 tee_ta_close_session:518 Destroy session
D/TC:? 0 destroy_context:298 Destroy TA ctx (0x10177e80)
D/TC:? 0 tee_ta_close_session:499 csess 0x101776e0 id 1
D/TC:? 0 tee_ta_close_session:518 Destroy session
E/TC:? 0 tee_ta_open_session:728 Failed. Return error 0xffff0000
call teec_post_process_operationraw::TEEC_OpenSession return error: 4294901760
Error: Non-specific cause. (error code 0xffff0000)
from incubator-teaclave-trustzone-sdk.
Actually, I didn't test this on 3.7.0. We do have tutorial to run it in 3.4.0 on QEMU: https://github.com/mesalock-linux/rust-optee-trustzone-sdk/wiki/Getting-started-with-OPTEE-for-QEMU-ARMv8
If 3.7 still follow the GlobalPlatform API, the library should be okay. Another thing you may try is to increase the TEE RAM size since Rust's code is later than C and we didn't do any optimization.
from incubator-teaclave-trustzone-sdk.
I see cool ! I will try on 3.4.0. The hello_world TA from rust is around 100K, while the same TA from C is around 80K. I doubt it is the problem off TEE RAM but I will try that too.
from incubator-teaclave-trustzone-sdk.
Hi, any update on this issue?
from incubator-teaclave-trustzone-sdk.
I was busy with other things. I have tested the 3.7 on QEMU, which works, but did not find a time to try further, e.g. 3.4 on Rpi or increase the TEE RAM size. I will post here if I get any update.
from incubator-teaclave-trustzone-sdk.
I'm closing this issue. Feel free to reopen it if you have any update. Thanks.
from incubator-teaclave-trustzone-sdk.
Related Issues (20)
- (Solved) Failed to build example HOT 3
- (Solved) Failed to build repo with optee-3.18.0 HOT 3
- Create a persistent object from an initialized transient object HOT 8
- API doc links broken HOT 3
- Will this library support remote attestation? HOT 1
- Upstream status for rustc aarch64-unknown-optee-trustzone target? HOT 7
- Missing mem::forget(b) in TA_InvokeCommand() error path? HOT 3
- [VOTE] Change the default branch to "no-std" HOT 1
- Error: System ran out of resources. (error code 0xffff000c) HOT 8
- Build issues on aarch64 Linux hosts HOT 6
- what can i do update the Rust version ? HOT 8
- Use openssl/serde in host app HOT 2
- Xargo Version? HOT 1
- ECDH shared secret derivation HOT 6
- Performance issues HOT 1
- ./hello_world-rs not found in shared folder HOT 6
- make optee: fatal error: uuid/uuid.h: No such file or directory HOT 6
- Question: returning data from the TA
- Error: Unresolved import 'self::inner'
- Question: Third party crates HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from incubator-teaclave-trustzone-sdk.