Youren Shen shenyouren at gmail.com
Fri Mar 21 02:27:11 UTC 2014


Hi,Gedare:

Thank you for your suggestion.

In the function bootcart() in the file c/src/lib/libbsp/shared/bootcard.c,
there is a function rtems_interrupt_disable which will be compiled to be
instruction "cli" in x86 platform. And the cli is also the reason why I
failed to startup POK partitions [1].

Now I consider there are two ways to solve the problem.One I called
functional solution, The other I called instruction solution. That is say ,
we replace some functions with sensitive instructions or replace every
instructions. The first approach seems to be easy to implementation,
however maybe not easy to transplant to other platform. I'm more familiar
with the second approach, but to implement the whole project will spent
more time. And once we finish this project, we can easily implement
paravirtualization to other platform. And if design properly, will also
easily to transplant RTEMS to other hypervisor.

Or we have to mix this two solutions, This needs more discussion and should
be thoughtful and deliberate.

By the way, I'm going to post a blog about the POK initiation and interrupt
system this weekend.

[1].
http://listengine.tuxfamily.org/lists.tuxfamily.org/pok/2014/03/msg00003.html

---
Best Regards.
Youren Shen.


On Thu, Mar 20, 2014 at 10:04 PM, Gedare Bloom <gedare at rtems.org> wrote:

> Youren Shen,
>
> It looks like the problem you are having is that RTEMS "hello world"
> executes a sensitive instruction? There should not be any such
> instruction when you use the --enable-paravirt option, so you need to
> determine where this instruction gets executed. The best way to do
> this is to hook gdb up to an executing qemu. You can start qemu with
> some -S option to prevent the boot sequence from starting to give you
> some time to load gdb and connect it to qemu's gdbserver socket. once
> you have done this, you should be able to set some breakpoints in the
> pok/hello application to step through the program, or you might be
> able to catch exceptions before they get raised to pok. The other
> option should be that inside pok there should be some information
> about the source of the exception that you might investigate.
>
> Please keep us informed about your progress on this problem,
> Thanks,
> Gedare
>
> On Thu, Mar 20, 2014 at 9:16 AM, Youren Shen <shenyouren at gmail.com> wrote:
> > Hi,Gedare
> >
> > Maybe it's because my qemu version is low or POK has change the kernel, I
> > can't run the RTEMS Hello world on my computer anymore.
> >
> > The problem has spent me a few days to find. More details see this mails.
> >
> > [1].
> >
> http://listengine.tuxfamily.org/lists.tuxfamily.org/pok/2014/03/msg00000.html
> >
> > -----
> > Best Regards.
> > Youren Shen.
> >
> >
> > On Thu, Mar 20, 2014 at 8:03 PM, Philipp Eppelt
> > <philipp.eppelt at mailbox.tu-dresden.de> wrote:
> >>
> >> On 03/16/2014 01:01 PM, Youren Shen wrote:
> >> > Hi, every one:
> >> >
> >> > I have write a blog about how to build the RTEMS on POK. However, the
> >> > RTEMS can't run on POK now. Here is my blog[1].
> >> >
> >> > [1].
> >> >
> http://huaiyusched.github.io/rtems/2014/03/15/how-to-run-rtems-on-pok/
> >> > --
> >> > Best Regards.
> >> > Youren Shen.
> >>
> >>
> >> Hi Youren,
> >>
> >> great!
> >> A screenshot of RTEMS HelloWorld sample running on POK would be even
> >> better :).
> >>
> >> Cheers,
> >> Philipp
> >
> >
> >
> >
> > --
> > Best Regards.
> > Youren Shen.
>



-- 
Best Regards.
Youren Shen.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20140321/7ec669b5/attachment-0001.html>


More information about the devel mailing list