<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Hi,Philipp:</span><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">I think it's my responsibility to fix this bug. And it's a good opportunity to know the change of RTEMS. </div>
<div style="font-family:arial,sans-serif;font-size:13px">However, I can begin to do it only in weekend due to some course at college. :-(</div><div style="font-family:arial,sans-serif;font-size:13px">---</div><div style="font-family:arial,sans-serif;font-size:13px">
Best Regards.</div><div style="font-family:arial,sans-serif;font-size:13px">Youren Shen.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 21, 2014 at 4:53 PM, Philipp Eppelt <span dir="ltr"><<a href="mailto:philipp.eppelt@mailbox.tu-dresden.de" target="_blank">philipp.eppelt@mailbox.tu-dresden.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Youren,<br>
<br>
git apply $attached_patch$<br>
<br>
I have a meeting to attend to, so I don't have the time to test it right<br>
now; will do it later. I hope it works.<br>
<br>
Cheers,<br>
Philipp<br>
<div><div class="h5"><br>
On 03/21/2014 09:30 AM, Philipp Eppelt wrote:<br>
> Hi Youren,<br>
><br>
> I just looked at a fresh RTEMS clone. I thought the patch eliminating<br>
> sensitive instructions from the x86 paravirt target was merged, but it<br>
> looks like it wasn't.<br>
><br>
> I am working on an up to date patch. The old one, doesn't work anymore.<br>
><br>
> Cheers,<br>
> Philipp<br>
><br>
> On 03/21/2014 03:27 AM, Youren Shen wrote:<br>
>> Hi,Gedare:<br>
>><br>
>> Thank you for your suggestion.<br>
>><br>
>> In the function bootcart() in the file<br>
>> c/src/lib/libbsp/shared/bootcard.c, there is a<br>
>> function rtems_interrupt_disable which will be compiled to be<br>
>> instruction "cli" in x86 platform. And the cli is also the reason why I<br>
>> failed to startup POK partitions [1].<br>
>><br>
>> Now I consider there are two ways to solve the problem.One I called<br>
>> functional solution, The other I called instruction solution. That is<br>
>> say , we replace some functions with sensitive instructions or replace<br>
>> every instructions. The first approach seems to be easy to<br>
>> implementation, however maybe not easy to transplant to other platform.<br>
>> I'm more familiar with the second approach, but to implement the whole<br>
>> project will spent more time. And once we finish this project, we can<br>
>> easily implement paravirtualization to other platform. And if design<br>
>> properly, will also easily to transplant RTEMS to other hypervisor.<br>
>><br>
>> Or we have to mix this two solutions, This needs more discussion and<br>
>> should be thoughtful and deliberate.<br>
>><br>
>> By the way, I'm going to post a blog about the POK initiation and<br>
>> interrupt system this weekend.<br>
>><br>
>> [1].<br>
>> <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/pok/2014/03/msg00003.html" target="_blank">http://listengine.tuxfamily.org/lists.tuxfamily.org/pok/2014/03/msg00003.html</a><br>
>><br>
>> ---<br>
>> Best Regards.<br>
>> Youren Shen.<br>
>><br>
>><br>
>> On Thu, Mar 20, 2014 at 10:04 PM, Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a><br>
>> <mailto:<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>>> wrote:<br>
>><br>
>>     Youren Shen,<br>
>><br>
>>     It looks like the problem you are having is that RTEMS "hello world"<br>
>>     executes a sensitive instruction? There should not be any such<br>
>>     instruction when you use the --enable-paravirt option, so you need to<br>
>>     determine where this instruction gets executed. The best way to do<br>
>>     this is to hook gdb up to an executing qemu. You can start qemu with<br>
>>     some -S option to prevent the boot sequence from starting to give you<br>
>>     some time to load gdb and connect it to qemu's gdbserver socket. once<br>
>>     you have done this, you should be able to set some breakpoints in the<br>
>>     pok/hello application to step through the program, or you might be<br>
>>     able to catch exceptions before they get raised to pok. The other<br>
>>     option should be that inside pok there should be some information<br>
>>     about the source of the exception that you might investigate.<br>
>><br>
>>     Please keep us informed about your progress on this problem,<br>
>>     Thanks,<br>
>>     Gedare<br>
>><br>
>>     On Thu, Mar 20, 2014 at 9:16 AM, Youren Shen <<a href="mailto:shenyouren@gmail.com">shenyouren@gmail.com</a><br>
>>     <mailto:<a href="mailto:shenyouren@gmail.com">shenyouren@gmail.com</a>>> wrote:<br>
>>     > Hi,Gedare<br>
>>     ><br>
>>     > Maybe it's because my qemu version is low or POK has change the<br>
>>     kernel, I<br>
>>     > can't run the RTEMS Hello world on my computer anymore.<br>
>>     ><br>
>>     > The problem has spent me a few days to find. More details see this<br>
>>     mails.<br>
>>     ><br>
>>     > [1].<br>
>>     ><br>
>>     <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/pok/2014/03/msg00000.html" target="_blank">http://listengine.tuxfamily.org/lists.tuxfamily.org/pok/2014/03/msg00000.html</a><br>
>>     ><br>
>>     > -----<br>
>>     > Best Regards.<br>
>>     > Youren Shen.<br>
>>     ><br>
>>     ><br>
>>     > On Thu, Mar 20, 2014 at 8:03 PM, Philipp Eppelt<br>
>>     > <<a href="mailto:philipp.eppelt@mailbox.tu-dresden.de">philipp.eppelt@mailbox.tu-dresden.de</a><br>
>>     <mailto:<a href="mailto:philipp.eppelt@mailbox.tu-dresden.de">philipp.eppelt@mailbox.tu-dresden.de</a>>> wrote:<br>
>>     >><br>
>>     >> On 03/16/2014 01:01 PM, Youren Shen wrote:<br>
>>     >> > Hi, every one:<br>
>>     >> ><br>
>>     >> > I have write a blog about how to build the RTEMS on POK.<br>
>>     However, the<br>
>>     >> > RTEMS can't run on POK now. Here is my blog[1].<br>
>>     >> ><br>
>>     >> > [1].<br>
>>     >> ><br>
>>     <a href="http://huaiyusched.github.io/rtems/2014/03/15/how-to-run-rtems-on-pok/" target="_blank">http://huaiyusched.github.io/rtems/2014/03/15/how-to-run-rtems-on-pok/</a><br>
>>     >> > --<br>
>>     >> > Best Regards.<br>
>>     >> > Youren Shen.<br>
>>     >><br>
>>     >><br>
>>     >> Hi Youren,<br>
>>     >><br>
>>     >> great!<br>
>>     >> A screenshot of RTEMS HelloWorld sample running on POK would be even<br>
>>     >> better :).<br>
>>     >><br>
>>     >> Cheers,<br>
>>     >> Philipp<br>
>>     ><br>
>>     ><br>
>>     ><br>
>>     ><br>
>>     > --<br>
>>     > Best Regards.<br>
>>     > Youren Shen.<br>
>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Best Regards.<br>
>> Youren Shen.<br>
><br>
</div></div>> _______________________________________________<br>
> rtems-devel mailing list<br>
> <a href="mailto:rtems-devel@rtems.org">rtems-devel@rtems.org</a><br>
> <a href="http://www.rtems.org/mailman/listinfo/rtems-devel" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-devel</a><br>
><br></blockquote></div>
</div></div>