[virt-layer] score/libcpu split (i386)
Philipp Eppelt
philipp.eppelt at mailbox.tu-dresden.de
Tue May 14 15:55:10 UTC 2013
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
More information about the devel
mailing list