Genode onto i.mx53 qsb
Joseph Lee
leejose911 at ...9...
Fri Sep 19 06:24:51 CEST 2014
Thank you for your explanation Stefan,
Currently, I am testing the simple 'tz_vmm' run example. As you mentioned,
I tried to make 'UNSECURE' all the devices such as I2C GPIO and IPU. In
addition, I also changed the kernel cmdline argument in
genode/os/src/server/tz_vmm/imx53/main.cc (*console=ttymxc0,115200
gpu_nommu video=mxcdi0fb:RGB666,XGA di0_primary ldb=di0*)
But still the Linux doesn't show up on the screen(lvds). is there any other
configuration?
Another question is that how do we run a trusted application inside the
secure world (Genode) in this simple 'tz_vmm' example?
Thanks in advance for your answers.
On Wed, Sep 17, 2014 at 7:55 AM, Stefan Kalkowski <
stefan.kalkowski at ...1...> wrote:
> Hi Joseph,
>
> within the 'tz_vmm' run example Genode's framebuffer driver for i.MX53
> isn't used at all. It is a very simple example used for testing the
> TrustZone world-switch regulary. It only starts the simple TrustZone
> VMM, which boots Linux. Linux thereby uses the devices (that are
> configured in the kernel) directly without interaction with the secure
> side.
>
> Given your last mail, I was assuming you want Linux to use the
> framebuffer directly too. In that case, I forgot to mention that you'll
> have to mark the appropriated devices like I2C and GPIO controller, as
> well as the IPU as unsecure devices, which is hardcoded in the
> constructor of the central security unit of that platform:
>
> repos/base-hw/src/core/include/spec/imx53/trustzone/csu.h
>
> However, if you want Linux (the unsecure world) to share the framebuffer
> with the secure Genode world, then you'll have to incorporate at least
> the framebuffer driver (maybe a graphical system and some other
> applications) into the run-script. A good starting point are our
> run-scripts for graphical systems e.g.: repos/os/run/demo.run
>
> Moreover, the simple VMM example in the current mainline Genode
> repository doesn't include the handling of the para-virtualized
> framebuffer device that is used in the TrustZone-specific Linux version
> we use. Whenever Linux is using another memory range as framebuffer,
> this is propagated to the VMM via a hypercall, have a look here:
>
>
>
> https://github.com/skalk/linux/blob/bc1707a23a9770cf080a1b87b4f553a2a39ac636/drivers/video/mxc/mxc_ipuv3_fb.c
>
> On the secure, the VMM has to use the information to either copy
> regularyly the content of the Linux framebuffer to some window, or it
> uses the special overlay functionality of the i.MX53 IPU to let the
> hardware copy the content. Both approaches are used in the graphical
> demo for the i.MX53 SABRE tablet. The corresponding code of the VMM of
> that example can be found here:
>
>
>
> https://github.com/skalk/genode/tree/i.MX53_tablet_demo/os/src/server/vmm/imx53
>
> You might use it as a starting point to turn the 'tz_vmm' scenario into
> a graphical one.
>
> Regards
> Stefan
>
> On 09/16/2014 06:33 PM, Joseph Lee wrote:
> > Hi Stefan,
> >
> > Thank you again for you reply
> >
> > I just noticed that the i.MX53 framebuffer driver doesn't detect the
> > lvds display configuration automatically.
> > I tried to change the default LCD display configuration (resolution) in
> > the driver code.
> >
> >
> https://github.com/genodelabs/genode/blob/master/repos/os/src/drivers/framebuffer/imx53/driver.h
> >
> >
> > So i changed the values of qsb_width and qsb_height to the corresponding
> > lvds values(1024 x 768).
> > But still i don't see anything on the screen.
> >
> > Could you please let me know if there is any other configuration? thank
> > you in advance for your answers.
> >
> > best regards,
> > Joseph
> >
> > On Tue, Sep 16, 2014 at 8:04 AM, Stefan Kalkowski
> > <stefan.kalkowski at ...1...
> > <mailto:stefan.kalkowski at ...1...>> wrote:
> >
> > Hi Joseph,
> >
> > On 09/15/2014 05:20 PM, Joseph Lee wrote:
> > > Thank you Stefan for your valuable feedback
> > >
> > > I think it is working now. But i have another issue. There is
> nothing
> > > displayed on the screen (LVDS Display kit)
> > > I already configured the u-boot environment variable bootargs_base.
> > >
> > > bootargs_base=set bootargs console=ttymxc0,115200
> gpu_nommu ${lvds}
> > >
> > > And it is working with the per-installed Linux operating system. I
> am
> > > using u-boot 2009.08 version.
> > >
> > > Herewith, i have attached the output on serial console.
> > >
> > > What is still missing? thank you in advance
> >
> > The u-boot variable you mentioned is used when u-boot starts the
> Linux
> > kernel. Then the bootloader provides the corresponding arguments to
> the
> > kernel. In our small test scenario, a Genode application called
> tz_vmm
> > fulfills the role of the bootloader for the Linux instance running in
> > TrustZone's "normal world". Therefore, the tz_vmm has to provide the
> > arguments to the Linux kernel. They are hardcoded in the application,
> > have a look at:
> >
> >
> >
> https://github.com/genodelabs/genode/blob/master/repos/os/src/server/tz_vmm/imx53/main.cc
> >
> > In line 36 you see the command line for the Linux kernel.
> >
> > Regards
> > Stefan
> >
> > >
> > > regards,
> > > Joseph
> > >
> > > On Mon, Sep 15, 2014 at 8:44 AM, Stefan Kalkowski
> > > <stefan.kalkowski at ...1...
> > <mailto:stefan.kalkowski at ...1...>
> > > <mailto:stefan.kalkowski at ...1...
> > <mailto:stefan.kalkowski at ...1...>>> wrote:
> > >
> > > Hi Joseph,
> > >
> > > what u-boot version do you use? I recently run into a similar
> > problem
> > > when using a recent u-boot version. It had to do with a more
> > strict
> > > checking before unzipping. To test out whether it is the same
> > problem
> > > try to run the image without compressing it. Therefore, you
> > might build
> > > your uImage by hand:
> > >
> > > /usr/local/genode-gcc/bin/genode-arm-objcopy -O binary \
> > > var/run/tz_vmm/image.elf var/run/tz_vmm/image.bin
> > >
> > > and:
> > >
> > > mkimage -A arm -O linux -T kernel -C none -a 0x70010000 \
> > > -e 0x70010000 -d var/run/tz_vmm/image.bin
> var/run/tz_vmm/uImage
> > >
> > > If that works for you it's probably the same issue.
> > >
> > > Regards
> > > Stefan
> > >
> > > On 09/14/2014 06:47 AM, Joseph Lee wrote:
> > > > Hello,
> > > >
> > > > I'm trying to port genode onto i.mx53 quick start board. I
> > followed the
> > > > building steps in this thread.
> > > >
> >
> http://sourceforge.net/p/genode/mailman/genode-main/thread/9167aa55bacd5e3f00e64168280aef3e%40lcc.uma.es/#msg31683911
> > > >
> > > > Now i get /uImage/ in in the building
> > directory(var/run/tz_vmm) with
> > > > other two files (/boot_modules.s/ and /image.elf/). The size
> of
> > > /uImage/
> > > > is 7.5MB
> > > >
> > > > I loaded the /uImage/ to memory address 0x70800000. When I
> tried
> > > to boot
> > > > with the same memory address (bootm 0x70800000), i get the
> > following error.
> > > >
> > > > ## Booting kernel from Legacy Image at 70800000 ...
> > > > Image Name:
> > > > Image Type: ARM Linux Kernel Image (gzip compressed)
> > > > Data Size: 7858693 Bytes = 7.5 MB
> > > > Load Address: 70010000
> > > > Entry Point: 70010000
> > > > Verifying Checksum ... OK
> > > > Uncompressing Kernel Image ... Error: inflate() returned
> -5
> > > > GUNZIP: uncompress, out-of-mem or overwrite error - must
> > RESET board to
> > > > recover
> > > > resetting ...
> > > >
> > > > I tried again with another memory address (0x78000000) if
> > there was
> > > > overlap. Still I get the same result.
> > > >
> > > > I also checked if there is overlap with the physical address
> > ranges used
> > > > by u-boot bootloader using /readelf/.
> > > >
> > > > Here is the output
> > > >
> > > > Elf file type is EXEC (Executable file)
> > > > Entry point 0x70010000
> > > > There are 3 program headers, starting at offset 52
> > > >
> > > > Program Headers:
> > > > Type Offset VirtAddr PhysAddr
> > FileSiz MemSiz
> > > > Flg Align
> > > > EXIDX 0x077138 0x7007f138 0x7007f138 0x02578
> > 0x02578 R 0x4
> > > > LOAD 0x008000 0x70010000 0x70010000 0x6ac64
> > 0x6ac64 R E 0x8000
> > > > LOAD 0x073000 0x7007b000 0x7007b000 0x0b03c
> > 0xd3ed5 RW 0x8000
> > > >
> > > > What is missing? thanks in advance
> > > >
> > > > best regards,
> > > > Joseph,
> > > >
> > > >
> > > >
> > > >
> > >
> >
> ------------------------------------------------------------------------------
> > > > Want excitement?
> > > > Manually upgrade your production database.
> > > > When you want reliability, choose Perforce
> > > > Perforce version control. Predictably reliable.
> > > >
> > >
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > genode-main mailing list
> > > > genode-main at lists.sourceforge.net
> > <mailto:genode-main at lists.sourceforge.net>
> > > <mailto:genode-main at lists.sourceforge.net
> > <mailto:genode-main at lists.sourceforge.net>>
> > > > https://lists.sourceforge.net/lists/listinfo/genode-main
> > > >
> > >
> > > --
> > > Stefan Kalkowski
> > > Genode Labs
> > >
> > > http://www.genode-labs.com/ · http://genode.org/
> > >
> > >
> ------------------------------------------------------------------------------
> > > Want excitement?
> > > Manually upgrade your production database.
> > > When you want reliability, choose Perforce
> > > Perforce version control. Predictably reliable.
> > >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > > _______________________________________________
> > > genode-main mailing list
> > > genode-main at lists.sourceforge.net
> > <mailto:genode-main at lists.sourceforge.net>
> > > <mailto:genode-main at lists.sourceforge.net
> > <mailto:genode-main at lists.sourceforge.net>>
> > > https://lists.sourceforge.net/lists/listinfo/genode-main
> > >
> > >
> > >
> > >
> > >
> ------------------------------------------------------------------------------
> > > Want excitement?
> > > Manually upgrade your production database.
> > > When you want reliability, choose Perforce
> > > Perforce version control. Predictably reliable.
> > >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > >
> > >
> > >
> > > _______________________________________________
> > > genode-main mailing list
> > > genode-main at lists.sourceforge.net
> > <mailto:genode-main at lists.sourceforge.net>
> > > https://lists.sourceforge.net/lists/listinfo/genode-main
> > >
> >
> > --
> > Stefan Kalkowski
> > Genode Labs
> >
> > http://www.genode-labs.com/ · http://genode.org/
> >
> >
> ------------------------------------------------------------------------------
> > Want excitement?
> > Manually upgrade your production database.
> > When you want reliability, choose Perforce.
> > Perforce version control. Predictably reliable.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> > _______________________________________________
> > genode-main mailing list
> > genode-main at lists.sourceforge.net
> > <mailto:genode-main at lists.sourceforge.net>
> > https://lists.sourceforge.net/lists/listinfo/genode-main
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> > Want excitement?
> > Manually upgrade your production database.
> > When you want reliability, choose Perforce.
> > Perforce version control. Predictably reliable.
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> >
> >
> >
> > _______________________________________________
> > genode-main mailing list
> > genode-main at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/genode-main
> >
>
> --
> Stefan Kalkowski
> Genode Labs
>
> http://www.genode-labs.com/ · http://genode.org/
>
>
> ------------------------------------------------------------------------------
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
>
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20140919/fb64f65b/attachment.html>
More information about the users
mailing list