{"action":"created","issue":{"url":"https://api.github.com/repos/OP-TEE/optee_os/issues/1152","repository_url":"https://api.github.com/repos/OP-TEE/optee_os","labels_url":"https://api.github.com/repos/OP-TEE/optee_os/issues/1152/labels{/name}","comments_url":"https://api.github.com/repos/OP-TEE/optee_os/issues/1152/comments","events_url":"https://api.github.com/repos/OP-TEE/optee_os/issues/1152/events","html_url":"https://github.com/OP-TEE/optee_os/issues/1152","id":186701994,"number":1152,"title":"On elf file loading and optee the memory layout","user":{"login":"yymxx","id":20486032,"avatar_url":"https://avatars.githubusercontent.com/u/20486032?v=3","gravatar_id":"","url":"https://api.github.com/users/yymxx","html_url":"https://github.com/yymxx","followers_url":"https://api.github.com/users/yymxx/followers","following_url":"https://api.github.com/users/yymxx/following{/other_user}","gists_url":"https://api.github.com/users/yymxx/gists{/gist_id}","starred_url":"https://api.github.com/users/yymxx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yymxx/subscriptions","organizations_url":"https://api.github.com/users/yymxx/orgs","repos_url":"https://api.github.com/users/yymxx/repos","events_url":"https://api.github.com/users/yymxx/events{/privacy}","received_events_url":"https://api.github.com/users/yymxx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-11-02T03:11:27Z","updated_at":"2016-11-07T13:36:30Z","closed_at":null,"body":"hello\r\n      I have two questions: The first is how to load elf into optee, is the use of the mmu mechanism? How the system function table is associated. The second question is also due to the first issue, should not find optee memory-related documents, do not know elf file loading time, data segment, code segment stored in that position. The dynamic loading of a ta has been bothering me a long time. Hope to get your help, look forward to your reply"},"comment":{"url":"https://api.github.com/repos/OP-TEE/optee_os/issues/comments/258836828","html_url":"https://github.com/OP-TEE/optee_os/issues/1152#issuecomment-258836828","issue_url":"https://api.github.com/repos/OP-TEE/optee_os/issues/1152","id":258836828,"user":{"login":"etienne-lms","id":19990310,"avatar_url":"https://avatars.githubusercontent.com/u/19990310?v=3","gravatar_id":"","url":"https://api.github.com/users/etienne-lms","html_url":"https://github.com/etienne-lms","followers_url":"https://api.github.com/users/etienne-lms/followers","following_url":"https://api.github.com/users/etienne-lms/following{/other_user}","gists_url":"https://api.github.com/users/etienne-lms/gists{/gist_id}","starred_url":"https://api.github.com/users/etienne-lms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/etienne-lms/subscriptions","organizations_url":"https://api.github.com/users/etienne-lms/orgs","repos_url":"https://api.github.com/users/etienne-lms/repos","events_url":"https://api.github.com/users/etienne-lms/events{/privacy}","received_events_url":"https://api.github.com/users/etienne-lms/received_events","type":"User","site_admin":false},"created_at":"2016-11-07T13:36:30Z","updated_at":"2016-11-07T13:36:30Z","body":"optee_os is not a library.\r\n\r\noptee_os is made of 2 things: the TEE 'core' and the resources to build Trusted Applications.\r\n\r\nTEE 'core' operates in ARM CPU 'priviledge mode', and Tursted Applications execute in 'user mode'. Trusted Applications call TEE 'core' services through system calls (SVC, old SWI). No linkage.\r\n\r\nWhen you build optee_os, you generate:\r\n- a `tee.bin` file: the optee 'core' image, loaded/executed in secure RAM.\r\n- a directory `export-ta_armXX/` with some prebuilt libraries.\r\n\r\nWhen you compile your own Trusted Application(s), you compile your own code, you link it statically with the 'user TA libraries' (provided by  optee `export-ta_armXX/`) and then you post-process the generated ELF file to add signature info. At load time, the Trusted Application will NOT link with TEE 'core' or other libraries. The load Trusted Applications are each statically linked."}}
{"actor":{"display_login":"etienne-lms"}}