Philipp Eppelt philipp.eppelt at mailbox.tu-dresden.de
Fri Mar 21 08:53:44 UTC 2014


Hi Youren,

git apply $attached_patch$

I have a meeting to attend to, so I don't have the time to test it right
now; will do it later. I hope it works.

Cheers,
Philipp

On 03/21/2014 09:30 AM, Philipp Eppelt wrote:
> Hi Youren,
> 
> I just looked at a fresh RTEMS clone. I thought the patch eliminating
> sensitive instructions from the x86 paravirt target was merged, but it
> looks like it wasn't.
> 
> I am working on an up to date patch. The old one, doesn't work anymore.
> 
> Cheers,
> Philipp
> 
> On 03/21/2014 03:27 AM, Youren Shen wrote:
>> 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
>> <mailto: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
>>     <mailto: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
>>     <mailto: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.
> 
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtems_paravirt_cpu_i386.patch
Type: text/x-patch
Size: 8298 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20140321/098adc90/attachment-0001.bin>


More information about the devel mailing list