Hi,

I looked into the libcpu/sh dir to understand how the split of the CPU code between score/cpu and libcpu/ works.

My approach for the i386 arch brings some changes to existing files:

* score/i386/rtems/score/cpu.h
* score/i386/cpu.c
* score/i386/rtems/score/interrupts.h

The list of functions, sensitive for a virtualization environment is rather short (up until now):

* _CPU_ISR_Set_level (cpu.h)
* _CPU_Fatal_halt (cpu.h)
* _CPU_Thread_Idle_body (cpu.c)
* everything in interrupt.h

For a full and up to date list, check [0].

I want to introduce new directories containing the right versions for the above mentioned functions:
* libcpu/i386/virt-pok
* libcpu/i386/{native|hw|nonvirt|..}


To get this into the toolchain:
* Introduce a conditional called 'virt-pok' in configure.ac
* Branch on this conditional in Makefile.am



As just a small portion of cpu.h is affected, does it make sense to split this file?
Which part do I need to explain in more detail?
Do you know of any traps, that I might run into?
What do you think of this?
Is there a chance to get this change upstream? Otherwise I have to find a more convenient approach to solve this.


Regards,
Philipp


[0] http://wiki.rtems.org/wiki/index.php/GSOC_2013_-_Paravirtualization_of_RTEMS#libcpu.2Fscore_split
_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to