On 05/31/2016 12:37 PM, Tiago Brito wrote:
Hello Tiago,
Hi Stefan, thanks for your response.
On 05/27/2016 04:59 PM, Tiago Brito wrote:
Hi, I want to build a system based on the TZ_VMM example where a user
space
Linux application can trigger a SMC. This SMC will tell the secure
world to
display an image (and then return to the normal world after some time or after the user explicitly triggers another world switch).
For now I want to start by using Linux on the Normal World, but I want
to
eventually run Android in the Normal World.
The question which made me come to the mailing list is the following: in your article regarding TrustZone [1], section "Additional device
drivers",
you write that in order to run Android at almost-native performance in
the
normal world you used hardware overlays and that you invested
significant
development time into enabling this feature on the QSB.
Does this mean you have a working framebuffer driver for the i.MX53 QSB
as
well as a working example on how to use hardware overlays on this
platform?
If so I would like to know where can I get the mentioned framebuffer
driver
as well as the hardware overlay example.
The framebuffer driver is part of the Genode OS framework and can be found at repos/os/src/drivers/framebuffer/spec/imx53/*
It is automatically build when compiling drivers/framebuffer for the corresponding build target, e.g., hw_imx53_qsb. Be aware of the fact that it currently hardcodes to use the tablet's touchscreen display when using the SABRE tablet, and to use the LCD board extension when using i.MX53 QSB. It won't work with VGA connected to the i.MX53 QSB in the current state.
What changes am I expected to do in order to make the framebuffer driver work with the VGA connected to the i.MX53 QSB?
Well, I do not know otherwise it would be available as an option within the driver already. You might study the quite voluminous documentation of the IPU of Freescale, or trace I/O register accesses of a working example, e.g., from the Linux kernel, or you combine both techniques.
What I want to do with this is to have a simple command line application running on linux (Normal World). I want to keep the interaction between user and Linux as is (serial connection - tz_vmm example). This application calls some kernel module function which in turn triggers an SMC. Then the secure world (tz_vmm) detects the SMC from the application and displays an image to the user (for now it could just fill the screen with some color).
Moreover, the mentioned overlay mechanism although also present in the driver is only tested using the SABRE tablet settings.
In the past I have adapted an On-board Diagnostics Suite from Freescale to display images using my bare metal program. I stripped the OBDS down to the standalone IPU and I sent the bits to the configured MMIO for the framebuffer. This wasn't that hard to do, but it's not really flexible. I had no user interface, just plain BITMAP imagens which were displayed for some time.
I'm wondering if it's easier to modify your framebuffer driver in order to support VGA (which would be a much flexible solution since I could then use other components from Genode, like nitpicker - right?) or should I just try to adapt the OBDS code to work inside Genode?
I really cannot answer that for you. I can only say that I had some longstanding debug sessions when enabling the IPU together with the SABRE tablet's display and the overlay mechanism. But maybe its less complicated just to enable the VGA connector. And yes you are right that you can use other Genode components then as well.
Regards Stefan
Regards Stefan
Thanks again!!
Best Regards, Tiago
2016-05-31 10:44 GMT+01:00 Stefan Kalkowski < stefan.kalkowski@...1...>:
Hello Tiago,
On 05/27/2016 04:59 PM, Tiago Brito wrote:
Hi, I want to build a system based on the TZ_VMM example where a user
space
Linux application can trigger a SMC. This SMC will tell the secure world
to
display an image (and then return to the normal world after some time or after the user explicitly triggers another world switch).
For now I want to start by using Linux on the Normal World, but I want to eventually run Android in the Normal World.
The question which made me come to the mailing list is the following: in your article regarding TrustZone [1], section "Additional device
drivers",
you write that in order to run Android at almost-native performance in
the
normal world you used hardware overlays and that you invested significant development time into enabling this feature on the QSB.
Does this mean you have a working framebuffer driver for the i.MX53 QSB
as
well as a working example on how to use hardware overlays on this
platform?
If so I would like to know where can I get the mentioned framebuffer
driver
as well as the hardware overlay example.
The framebuffer driver is part of the Genode OS framework and can be found at repos/os/src/drivers/framebuffer/spec/imx53/*
It is automatically build when compiling drivers/framebuffer for the corresponding build target, e.g., hw_imx53_qsb. Be aware of the fact that it currently hardcodes to use the tablet's touchscreen display when using the SABRE tablet, and to use the LCD board extension when using i.MX53 QSB. It won't work with VGA connected to the i.MX53 QSB in the current state. Moreover, the mentioned overlay mechanism although also present in the driver is only tested using the SABRE tablet settings.
Regards Stefan
Thanks, Tiago
[1] - An Exploration of ARM TrustZone Technology ( http://genode.org/documentation/articles/trustzone)
What NetFlow Analyzer can do for you? Monitors network bandwidth and
traffic
patterns at an interface-level. Reveals which users, apps, and protocols
are
consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.
https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Stefan Kalkowski Genode Labs
http://www.genode-labs.com/ · http://genode.org/
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main