Hi,
On Mon, Sep 10, 2018 at 04:44:14PM +0800, lzSun wrote:
Hello, I am new to Genode and the version I am using is 18.05. I am trying to boot genode on the secure world and linux on normal world on i.MX53-QSB board. I follow steps in this link: https://sourceforge.net/p/genode/mailman/message/33588666/. The system can boot successfully ,but after the linux started,it periodically print this message: mmc0: Timeout waiting for hardware interrupt. mxsdhci: ============== REGISTER DUMP ============== mxsdhci: Sys addr: 0x00000000 | Version: 0x00001201 mxsdhci: Blk size: 0x00000000 | Blk cnt: 0x00000001 mxsdhci: Argument: 0x00000c00 | Trn mode: 0x341a0000 mxsdhci: Present: 0xff880008 | Host ctl: 0x00000121 mxsdhci: Clock: 0x000010ff mxsdhci: Int stat: 0x00010001 mxsdhci: Int enab: 0x107f010b | Sig enab: 0x107f000b mxsdhci: Caps: 0x07f30000 mxsdhci: ===========================================
if you just used the tz_vmm.run script without modifications, it should work without these messages.
I am not sure whether this is normal, or it's because something wrong.And I have a few question about the TZ_VMM demo on i.MX53 board hope to get help:
- I looked up the code in repos/os/src/server/tz_vmm, in target.mk file, there's only empty.cc was declared to be compiled. So how can other files can be compiled and used?
In the target file there is a tz_vmm library stated as a dependency. That library is built platform-specific. In your case, you will find the library description in `repos/os/lib/mk/spec/imx53_qsb/tz_vmm.mk`. All relevant compilation units are described there.
- I want to implement a secure app in Genode OS and provide service to normal world.But I have difficult to achieve this goal. To my understanding, I should implement the server module that can be used by VMM. Also, I should design help module in the linux kernel which uses SMC instruction to trap to VMM.
Yes.
Is it right? Actually, in tz_vmm dictionary, I can only see a block driver and serial driver which are used to handle block and serial driver smc respectively. So I don't know where can I add my code to serve normal world's smc request. Is there any suggestion or guidance that I can refer to?
Well, this whole VMM is an example. It is a prototype implementation to showcase how communication in between legacy TrustZone normal world OS and Genode running securely can be done. That's why there is no hook or plugin API you can just take. But you can use the block and serial APIs as examples to hard-code your own extension.
I'm sorry, there is no how-to or manual on how to do that, but a lot of e-mail communication in the list's archive that references your issue.
Regards Stefan
Best Regards,
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users